2012-10-07 61 views

回答

2

我想出了这一点:

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

乱看,但也有少条款。

+0

好的非常感谢;) – user1647008

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)