是否可以简化这个布尔代数?我想消除使用两次 X 变量的冗余,但似乎看不到方法。
(X AND Y) OR NOT(X AND Z)
提前致谢!
是否可以简化这个布尔代数?我想消除使用两次 X 变量的冗余,但似乎看不到方法。
(X AND Y) OR NOT(X AND Z)
提前致谢!
相当于
(X AND Y) OR (NOT X OR NOT Z)
这相当于
(X AND Y) OR NOT X OR NOT Z
这相当于
(X OR NOT X OR NOT Z) AND (Y OR NOT X OR NOT Z)
这相当于
(TRUE) AND (Y OR NOT X OR NOT Z)
(因为X or NOT x == true
和TRUE OR Z == true
)
这相当于
Y OR NOT X OR NOT Z
您还可以使用K-map来查找等效的逻辑表达式,但这些更难键入:)
这等于 !(X and !Y and Z)。
你也可以有公式(!X或Y或!Z)
您可以在http://www.wolframalpha.com/input/?i=%28X+AND+Y%29+OR+NOT%28X+AND+Z%29中确认答案
在卡诺图中,你可以看到你的表达式确实等价于三个单字词的总和:
not x or y or not z
yz
00 01 11 10
+---+---+---+---+
0 | 1 | 1 | 1 | 1 |
x +---+---+---+---+
1 | 1 | 0 | 1 | 1 |
+---+---+---+---+
正如 Elye 所指出的,单个 0 可以表示为具有三个输入的倒置项:
not (x and not y and z)