2017-03-08 420 views
0

有没有办法用另一个门(尤其是nand,xor,nor)来表达这个表达式。我几乎尝试过所有的组合,但我找不到。总是一个输出是错误的。 〜A〜BC + AB〜C布尔表达式最小化

+0

这是否意味着为((NOT A,非B和C)或(A和B不是C))?或者是((不是A或B或C)或(A或B或非C))?或者它是一些其他的表达? – David

+0

第一个@David – dali

回答

0

你需要5个门,2个NANDs,2个ANDs和1个OR

润A和B进入第一NAND,并且放了,输出到AND,与C

然后,进入第二NAND,只是把C对它自己一起。然后,这个NAND的输出进入第二AND,A和B.

2个AND门的输出,那么进入OR,这将使你的后沿表达。

0

真值表

A B C ~A ~B ~C ~A~BC AB~C ~A~BC + AB~C 
0 0 0 1 1 1  0  0   0 
0 0 1 1 1 0  1  0   1 
0 1 0 1 0 1  0  0   0 
0 1 1 1 0 0  0  0   0 
1 0 0 0 1 1  0  0   0 
1 0 1 0 1 0  0  0   0 
1 1 0 0 0 1  0  1   1 
1 1 1 0 0 0  0  0   0 

所以你需要2个AND门和1个OR门。现在,随着NAND门代替AND门:

A B C ~A ~B ~C NAND(~A,~B,C) NAND(A,B,~C)  ? 
0 0 0 1 1 1   1    1   0 
0 0 1 1 1 0   0    1   1 
0 1 0 1 0 1   1    1   0 
0 1 1 1 0 0   1    1   0 
1 0 0 0 1 1   1    1   0 
1 0 1 0 1 0   1    1   0 
1 1 0 0 0 1   1    0   1 
1 1 1 0 0 0   1    1   0 

这门让1 1 -> 00 1 -> 1XOR大门。

答案很简单:~A~BC + AB~C = NAND(~A,~B,C) ⊕ NAND(A,B,~C)