• java 逻辑表达式 布尔 将布尔表达式转换为逻辑电路 (Converting Boolean Expression to Logic Circuit) The simplest way to convert a Boolean expression into a logical circuit is to follow the reverse ...

java 逻辑表达式 布尔
将布尔表达式转换为逻辑电路 (Converting Boolean Expression to Logic Circuit)
The simplest way to convert a Boolean expression into a logical circuit is to follow the reverse approach in which we start from the output of the Boolean expression and reach towards the input.
将布尔表达式转换为逻辑电路的最简单方法是遵循相反的方法，在这种方法中，我们从布尔表达式的输出开始，然后向输入过渡。
Example1: Realize the Boolean Expression BC + A + (A + C) using AOI logic.
示例1：使用AOI逻辑实现布尔表达式BC + A + (A + C) 。
Solution:
解：
To realize this using the AOI logic gates, we will use the reverse approach.
为了使用AOI逻辑门来实现这一点，我们将使用相反的方法。
Step 1:
第1步：
Our expression BC + A + (A+C) is the summation of three terms BC, A and, (A+C), thus a 3-input OR Gate must have been used to obtain the expression as given :0
我们的表达BC + A +(A + C)是三个方面BC，A和(A + C)的总和，从而一个3输入OR门必须被用于获得表达给出：0

Step 2:
第2步：
Now, BC and (A + C) both are inverted in nature, so they must have been inverted using a NOT Gate earlier. BC must have been obtained by inverting the input BC and (A + C) must have been obtained by inverting the input (A + C) both using the NOT Gate.
现在， BC和(A + C)本质上都是反向的，因此它们必须早先使用NOT门进行了反向。 BC必须已经通过反相输入BC获得，并且(A + C)必须已经通过使用NOT门将输入(A + C)反相获得。

Step 3:
第三步：
Moving further, in the reverse direction we see, BC must have been an output of 2-input AND Gate with inputs as B and C. Likewise, (A + C) must have been obtained as the output of 2-input OR gate with A and C as the inputs.
再往相反方向看，BC必须是输入为B和C的2输入与门的输出。同样，必须获得(A + C)作为2输入与门的输出，其中A和C作为输入。
So, Final Logic Diagram for above given Boolean expression can be drawn as,
因此，以上给出的布尔表达式的最终逻辑图可以绘制为：

将逻辑图转换为布尔表达式 (Converting Logic Diagrams into Boolean Expressions)
The easiest way to obtain the Boolean Expression from any logic circuit is to follow the forward propagation approach. In this, we start from the input side and move ahead until the output is reached. While moving from the input side to the output side, we continue evaluating the output of intermediate logic gates.
从任何逻辑电路获得布尔表达式的最简单方法是遵循正向传播方法。 在这种情况下，我们从输入端开始，然后继续前进，直到达到输出为止。 从输入端移至输出端时，我们继续评估中间逻辑门的输出。
Example 1: Find out the Boolean Expression for Logic Diagram given below and simplify the output in the minimal expression, also implement the simplified expression using the AOI logic.
示例1：找出下面给出的逻辑图布尔表达式，并以最小表达式简化输出，还使用AOI逻辑实现简化表达式。

Solution:
解：
Following the forward propagation approach, we see that gate G1 is a 2-input AND Gate having inputs A and B. So, output of G1 will be AB. Similarly, G2 is an OR Gate, so output of G2 will be (B+C). Also, G3 is an AND Gate and its output will be AB.
按照前向传播方法，我们看到门G1是2输入与门，其输入A和B。因此，G1的输出将为AB。 同样，G2是“或”门，因此G2的输出为(B + C)。 同样，G3是与门，其输出将为AB。
Now, gate G4 is a 2-input OR Gate which has one of its inputs as A and the other one is the output of gate G1, thus the output of gate G4 will be (A + AB). Similarly, output for gate G5 and G6 will be (B + BC) and (C + AB) respectively. Now, gate G7 is a 3-input AND Gate, therefore output (Y) of G7 will be equal to (A+AB). (B+BC). (C+AB)
现在，门G4是2输入或门，其输入之一为A，另一个为门G1的输出，因此门G4的输出为(A + AB)。 同样，门G5和G6的输出分别为(B + BC)和(C + AB)。 现在，门G7是3输入与门，因此G7的输出(Y)等于(A + AB)。 (B + BC)。 (C + AB)

Since, we have Y = (A+AB). (B+BC). (C+AB), now we have to minimize it.
因为，我们有Y =(A + AB)。 (B + BC)。 (C + AB) ，现在我们必须将其最小化。
    Therefore, (A+AB). (B+BC). (C+AB)
= A (1 + B). B (1 +C). (C+AB)
= A. B. (C+AB)		[Since, 1+B =1 and 1+C =1]
= AB (1 + C)
= AB


Therefore, Y=AB is the minimal expression. This can be implemented using a 2-input AND Gate having inputs A and B as:
因此， Y = AB是最小表达式 。 这可以使用具有输入A和B的2输入与门实现：

翻译自: https://www.includehelp.com/basics/realization-of-boolean-expressions-using-basic-logic-gates.aspx

java 逻辑表达式 布尔

展开全文
• 给你一个以字符串形式表述的布尔表达式（boolean） expression，返回该式的运算结果。 有效的表达式需遵循以下约定： "t"，运算结果为 True "f"，运算结果为 False "!(expr)"，运算过程为对内部表达式 expr 进行...
给你一个以字符串形式表述的 布尔表达式（boolean） expression，返回该式的运算结果。
有效的表达式需遵循以下约定：
"t"，运算结果为 True "f"，运算结果为 False "!(expr)"，运算过程为对内部表达式 expr 进行逻辑 非的运算（NOT） "&(expr1,expr2,...)"，运算过程为对 2 个或以上内部表达式 expr1, expr2, ... 进行逻辑 与的运算（AND） "|(expr1,expr2,...)"，运算过程为对 2 个或以上内部表达式 expr1, expr2, ... 进行逻辑 或的运算（OR）
示例 1：
输入：expression = "!(f)" 输出：true 示例 2：
输入：expression = "|(f,t)" 输出：true 示例 3：
输入：expression = "&(t,f)" 输出：false 示例 4：
输入：expression = "|(&(t,f,t),!(t))" 输出：false
提示：
1 <= expression.length <= 20000 expression[i] 由 {'(', ')', '&', '|', '!', 't', 'f', ','} 中的字符组成。 expression 是以上述形式给出的有效表达式，表示一个布尔值。
思路：这道题和括号匹配问题很像，我们采用栈模拟的方法， 当遇到右括号时考虑求出该括号内的布尔表达式并将其压入栈中，若括号前为‘!’，则根据括号的的‘t’或者‘f’取反，其余两个类似，按照布尔表达式的规则来就好了。
class Solution {
public boolean parseBoolExpr(String expression) {

int len = expression.length();
Stack<Character> st = new Stack<>();

for (int i = 0; i < len; i++) {
if (expression.charAt(i) == '(' || expression.charAt(i)==',') continue;
else if (expression.charAt(i) == ')') {
boolean mark_f = false, mark_t = false;
while (!st.isEmpty() && (st.peek() == 't' || st.peek() == 'f')) {
if (st.peek() == 't') mark_t = true;
if (st.peek() == 'f') mark_f = true;
st.pop();
}
char c = st.pop();
if (c == '!') {
} else if (c == '&') {
} else {
}
} else
}

return st.peek() == 't' ? true : false;

}
}

展开全文
• 布尔表达式解析器和评估器。 例子： 表达式： !A > Truth table: A Result 0 1 1 0 > Parsed tree: Operation { components: [Component { value: Var(A), negated: true }], ops: [] } > Variables: [A] 表达式...
• java 基础、自学记录。避免遗忘； 逻辑与：&&和&，逻辑或：||和|，逻辑非：！。 &&和&区别？||和|区别？ &&和||具有短路效果。也就是说在执行过程中，前面的表达式满足条件后就...
java 基础、自学记录。避免遗忘；
逻辑与：&&和&，逻辑或：||和|，逻辑非：！。
&&和&区别？||和|区别？
&&和||具有短路效果。也就是说在执行过程中，前面的表达式满足条件后就会停止本条语句执行。&和|则不具备短路效果。
直接上实例：
/**
* 逻辑运算符测试
*/
public class OperatTest {
public static void main(String[] args) {
int a = 1;
String b = "a";

if (a == 2 && a == Integer.parseInt(b)) { // &&具有短路效果,第一个表达式不满足条件直接跳出判断
System.out.println("这里没有短路");
} else {
System.out.println("这里短路了");
}

System.out.println("第一个判断完成*******************");

if (a == 2 & a == Integer.parseInt(b)) { // &不具短路效果,第一个表达式不满足条件后还会执行第二个表达式,导致异常
System.out.println("这里没有短路");
} else {
System.out.println("这里短路了");
}
}

}
执行结果

逻辑或：||和逻辑与：&&都具有短路效果。&和|不具短路效果。
逻辑与只要有一个为false, 则直接返回false.
逻辑或只要有一个为true, 则直接返回true;
逻辑非：！，反义的意思。
public static void main(String[] args) {
boolean falg = false;

if (!falg)
System.out.println("true");
else
System.out.println("false");
}
结果：true
逻辑运算先记录到这里。
展开全文
• 编译器为什么报错，对于两个数字比较。 while循环中java 布尔表达式为什么不能纯数字比较
• 主要为大家详细介绍了如何利用Java实现表达式二叉树，感兴趣的小伙伴们可以参考一下
• ## Java if(布尔表达式)

千次阅读 2013-09-04 14:32:45
Java 的if (结果为布尔表达式)  if（1）; 错误。 与c/c++ 的if（表达式） if（1）;正确。
Java 的if (结果为布尔的表达式)
if（1）; 错误。
与c/c++ 的if（表达式）
if（1）;正确。
展开全文
• 布尔表达式和正则表达式 对偶原理 (Duality Principle) According to this principle, if we have postulates or theorems of Boolean Algebra for one type of operation then that operation can be converted ...
• 布尔表达式和正则表达式We already know that NAND and NOR are recognized as the universal gates using which we can perform the functioning of any other logic gate. Thus, any Boolean Expressions can also...
• 布尔表达式和正则表达式Example 1: Simplify the given Boolean Expression to minimum no. of variables or literals. 示例1：将给定的布尔表达式简化为最小编号。 变量或文字。 (A+B). (A+B) (A + B)。 (A + B ...
• 布尔表达式：  特性：只有两种情况 -- 真 / 假  True False   type(True)----- &lt;class 'bool'&gt;  2.布尔结果：  它的结果是bool类型  关系运算 3&gt;1 关系的等价 == 一个...
• ## 翻译布尔表达式

千次阅读 2017-12-07 10:48:49
翻译布尔表达式 Submit Statistic Problem Description 大家都学过了布尔表达式的翻译，其中有一个拉链－回填技术，这次我们就练习这个技术。 Input  多组输入，每组输入为一行字符串，例如： a 每个...
• 用antlr分析处理布尔表达式的例子，包括：语法定义.g文件；生成的词法分析和语法分析器；带有图形界面的分析器调用代码。 其中带有GUI的分析器ParserFrame，可以用于任何.g文件生成的词法、语法分析器，只要通过改变...
• 给出一个布尔表达式的字符串，比如：true or false and false，表达式只包含true，false，and和or，现在要对这个表达式进行布尔求值，计算结果为真时输出true、为假时输出false，不合法的表达时输出error（比如：...
• 主要是判断逻辑表达式是否合法 public static boolean validateExpression(String expression){ // 统一大写 expression=expression.toUpperCase(); //去空格 替换一些符号 expression=expression.replace(" ","") ...
• EvalEx是Java的便捷表达式评估器，可以评估简单的数学和布尔表达式。 主要特征： 使用BigDecimal进行计算和结果 不依赖外部库 可以设置精度和舍入模式 支持变量 标准布尔和数学运算符 标准基本数学和布尔函数 可以...
• 给定一个布尔表达式和一个期望的布尔结果 result，布尔表达式由 0 (false)、1 (true)、& (AND)、 | (OR) 和 ^ (XOR) 符号组成。实现一个函数，算出有几种可使该表达式得出 result 值的括号方法。 福大大 答案...
• 翻译布尔表达式 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 大家都学过了布尔表达式的翻译，其中有一个拉链－回填技术，这次我们就练习这个技术。 Input 多组输入，首先输入一个整数T，...
• 题目来源：http://noi.openjudge.cn/ch0303/6263/6263:布尔表达式总时间限制: 1000ms 内存限制: 65536kB描述输入一个布尔表达式，请你输出它的真假值。 比如：( V | V ) &amp; F &amp; ( F | V) V表示...
• 有时候，我们需要在配置文件中添加一个字段，通过该字段来确认一个动态的布尔值，这个字段是一个逻辑的表达式。（例：a==b && student.id == stusdent .num） 但是，配置文件拿到的只能是字符串。因此需要...
• 最近遇到一个需求，将形如： String str = "value>...这种字符串算术表达式进行true或false的判断，通过 ScriptEngineManager 类成功解决这个问题。 方法： String str = "value>8 || (value <= 5 &am...
• 运算符与表达式运算符与表达式算数运算符赋值运算符比较运算符逻辑运算符三元运算符 运算符与表达式 运算符：进行特定操作的符号 表达式：用运算符连接起来的...布尔类型表达式结果是false，三元运算符整体结果为结果2
• Java当使用逻辑操作符时，我们会遇到一种“短路”的现场。即一旦能够明确无误地确定整个表达式的值，就不再计算表达式剩余部分了。因此，整个逻辑表达式靠后的部分有可能不会被运算。——《Java编程思想》 这一点...
• 关于代码：给定的JAVA代码实现了Quine Mccluskey方法，以简化布尔表达式。 我主要使用2D数组来实现该方法以及一些函数调用。 下面是代码工作原理的简单概述：-工作原理：-首先存储变量数量和最小项数量。 相应地...
• ## Java正则表达式

千次阅读 2019-07-06 19:03:50
java.util.regex程序包只包含用于实现Java正则表达式处理技术的两个类，分别名为Pattern和Matcher。自然而然你会想到正则表达式由模式匹配（pattern matching）而成。java.lang还定义了一个新接口，它支持这些新的类...
• 一种最小化布尔表达式的方法，通常由所有可能输入值的表达式值的矩形图辅助。覆盖表达式为真的输入的最大矩形组给出了最小实现。 这是简化布尔代数表达式的卡诺图最小化器。 它是一个 4x4 的二维网格。 用户可以...
• 当我开始使用Java时，正则表达式对我来说是一场噩梦。 本教程旨在帮助您掌握Java正则表达式，并让我定期返回以刷新我的正则表达式学习。 什么是正则表达式？ 正则表达式定义字符串的模式。 正则表达式可用于搜索...
• 使用递归下降解析器和编译器的访问者模式的小型堆栈机器的布尔表达式的小型“编译器” 您可以在找到该项目的描述 指令系统 这个小小的 VM 作为一个小指令集只是为了支持一个布尔表达式。 PUSH将一个值压入堆栈 AND...
• package ... import java.math.BigDecimal; import java.util.HashMap; import java.util.Map; import java.util.Stack; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * ...
• groovy-bool-rule是一款开源的用于计算复杂布尔表达式的规则引擎，使用groovy动态脚本引擎设计与实现。 github: https://github.com/JavaPentesters/groovy-bool-rule 1、基于groovy实现的复杂布尔表达式规则引擎 在...

...

java 订阅