我是布尔代数的新手,而不是如何处理否定表达式,如果你能分步解释它
A'B'C'+A'B'C+A'BC+AB'C+ABC
首先让我们同意表达式
A'B'C'+A'B'C+A'BC+AB'C+ABC中使用的符号:
Notation Bool operation Priority CPU instruction
' behind Bool variable negation highest NEG
two adjacent variables logical AND high AND
+ between two variables logical OR low OR
( ) priority of oper. increased
然后可以将您的表达式重写为
((NOT A) AND (NOT B) AND (NOT C)) OR
((NOT A) AND (NOT B) AND ( C)) OR
((NOT A) AND ( B) AND (C)) OR
(( A) AND (NOT B) AND (C)) OR
(( A) AND ( B) AND (C))
下一步是计算所有最内层括号的内容,例如让我们计算(NOT A)到另一个名为notA的变量。这允许摆脱一级括号:
(notaA AND notB AND notC) OR
(notA AND notB AND C) OR
(notA AND B AND C) OR
( A AND notB AND C) OR
( A AND B AND C)
重复计算,直到没有多余的括号:
notAnotBnotC OR notAnotBC OR notABC OR AnotBC OR ABC
这可以读作不是 A 而不是 B 而不是 C 或不是 A 而不是 B 和 C ...... ' 只是意味着输入反转,如果它没有 ' 不反转。+ 是或门,而字母背靠背或相乘将是一个与门。
所以 A'B'C'+ A'B'C + A'BC + AB'C + ABC 可以看作 0 0 0 + 0 0 1 + 0 1 1 + 1 0 1 + 1 1 1 如果输入在 A、B 和 C 上对应于其中一组,您将得到 1 作为您的答案。