用步骤简化布尔表达式



我是布尔代数的新手,不知道如何处理负表达式,如果你能在步骤中解释它

A'B'C'+A'B'C+A'BC+AB'C+ABC

这可以读作不是A也不是B也不是C或者不是A也没有B和C。。。。。"只是指输入反转,如果它与out一起,则"不反转"。+是或门,而字母背靠背或将它们相乘将是一个和门。

因此A’B’C’+A’B’C+A’BC+AB’C+ABC可以看作0001+021+110<em+1>1其中,如果A、B和C上的输入对应于其中一个集合,则您将得到1作为答案。

首先让我们对表达式中使用的符号达成一致
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

相关内容

  • 没有找到相关文章

最新更新