布尔代数简化

时间:2012-10-07 01:09:45

标签: boolean-logic

是否可以简单地使用这个布尔函数

(!A*!B*!C) + (!A*!B*C*!D) + (A*!B*!C*D) + (A*!B*C*!D) + (A*B*!C*!D) 

2 个答案:

答案 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,那么您需要稍微扩展第二个术语。

您可以通过为两个术语分解!BA来进一步减少术语数量,例如

!B*(!A*!(C*D) + A*(C^D)) + A*B*!C*!D

或:

!A*!B*!(C*D) + A*(!B*(C^D) + B*!C*!D)