我有4个输入; (A,B,C,D)和3个输出; (X,Y,Z)。 1)当输入小于0111时,X为真。 2)当输入大于0111时,Y为真。 3)当输入为0111时,Z为真。
有人可以帮我解决X的布尔表达吗? 我已经获得了Y和Z的表达式,如下所示:
Y = A
_
Z = A . (B . C . D)
答案 0 :(得分:1)
当Y或Z都不为真时X为真:
_ _
X = Y + Z
或
_____
X = Y . Z
可以简化其扩展,提示:
_ _ _
A + A = A
从第一原则开始,任何表达式都可以通过对具有真实结果的每一行的真实AND表达式进行OR运算从真值表中获得(然后在可能的情况下进行简化);例如:
A B C X
--------- _ _ _
0 0 0 1 = A . B . C
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1 = A . B . C
_ _ _
X = (A . B . C) + (A . B . C)
alternatively:
_________
X = (A + B + C) + (A . B . C)
对于大型真值表,这可能变得很麻烦(这就是为什么我的例子只有三个变量),在这些情况下可以使用Karnaugh Map代替。