我需要创建一个真值表,而且我真的需要找到一个资源来解释它是如何工作的。我将举一个问题的例子。
我必须基于此创建一个真值表:A*(B+AB)=AB
所以真值表看起来像这样:
0 0
0 1
1 0
1 1 表示 A*(B+AB)=AB
我该如何开始解决这个问题?是否有任何好的资源可以很好地解释该做什么?
好吧,然后我做了一个更复杂的涉及 NOT 的操作。 !表示不是
!(A*!B+!AB) = AB+!(A+B)
所以我对左侧做了 C = A*!B D=!A*B 然后 !(C+D) 。我对这一方的最终回答是
0 0 1
0 1 0
1 0 0
0 0 1
所以右边是这个
C = A * B D = A + B 然后 C + !D
所以看起来像这样
0 0 1
0 1 0
0 1 0
1 1 1
我想我明白了? :)
最佳答案
编辑:根据您的评论(现已删除),我添加了一些额外的解释。
A 和 B 是两个 bool 变量。例如,在程序中,A 可能是firstTestOK,B 可能是secondTestOK。 A 和 B 中的每一个都可以为 true (1) 或 false (0)。
A+B 表示 A 或 B,如果 A 或 B 为真,则 A 或 B 为真。 A*B 表示只有当 A 和 B 都为真时,A 和 B 才为真。
A、B 的所有组合为:
- A 为假,B 为假
- A 为假,B 为真
- A 为真,B 为假
- A 为真,B 为真
这可以更紧凑地写为真值表,如下所示:
A B
0 0
0 1
1 0
1 1
您被要求做的是显示 A*(B+AB) 与 AB 相同。因此,对于每个组合,我们计算出左侧,即 A*(B+AB) 和右侧,即 AB:
A B C=A*B D=B+C A*D = A*B
0 0 0 0 0 0
0 1 0 1 0 0
1 0 0 0 0 0
1 1 1 1 1 1
所以,查看最后两列中的所有组合,我们发现结果是相同的,因此 AD=A(B+AB) 是 AB.
由于左边有点复杂,所以我把它分成几部分,引入C和D,分步骤完成。
关于boolean-logic - bool 逻辑和真值表解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2248883/