是否可以简单地使用这个布尔函数
(!A*!B*!C) + (!A*!B*C*!D) + (A*!B*!C*D) + (A*!B*C*!D) + (A*B*!C*!D)
答案 0 :(得分:2)
我想出了这个:
(!B*(!A*(!C+!D))+A*(C XOR D)) + (A*B*!C*!D)
凌乱地看,但条款较少。
答案 1 :(得分:2)
查看真相表:
A B C D X
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
看起来您可以将表格的三个部分放在X = 1的位置,并将其简化为三个术语的总和:
!A*!B*!(C*D) + A*!B*(C^D) + A*B*!C*!D
请注意,我在第二学期使用XOR(^)。如果您不能使用XOR,那么您需要稍微扩展第二个术语。
您可以通过为两个术语分解!B
或A
来进一步减少术语数量,例如
!B*(!A*!(C*D) + A*(C^D)) + A*B*!C*!D
或:
!A*!B*!(C*D) + A*(!B*(C^D) + B*!C*!D)