2012-10-07 63 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)