📅  最后修改于: 2023-12-03 15:12:35.446000             🧑  作者: Mango
本文介绍了GATE(Graduate Aptitude Test in Engineering)的计算机科学1997年的第48章题目——门题目。这道题目考察了程序员对门的基础知识。
门题目是一个简单的电路设计题目。考虑一个具有4个输入和1个输出的电路,如下所示:
___
a1--| |
| |--o-- OUT
a2--|___|
___
b1--| |
| |--o-- OUT
b2--|___|
___
c1--| |
| |--o-- OUT
c2--|___|
___
d1--| |
| |--o-- OUT
d2--|___|
其中,每个输入a1, a2, b1, b2, c1, c2, d1, d2都是0或1,并且门的输出是输入的异或和。也就是,输出是一个1当且仅当存在奇数个输入是1。
你需要设计一个电路,实现这个功能。
我们可以使用逻辑门来实现这个电路,特别是异或门。异或门有以下的真值表:
A | B | OUT
--+---+----
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0
我们只需要将每个输入和另一个相应的输入进行异或,然后将它们的输出再进行异或。具体来说,做出以下的电路图:
___ ___
a1 --| | | |
| |-| |--------o-- OUT
a2 --|___| |___|
___ ___
b1 --| | | |
| |-| |--------o-- OUT
b2 --|___| |___|
___ ___
c1 --| | | |
| |-| |--------o-- OUT
c2 --|___| |___|
___ ___
d1 --| | | |
| |-| |--------o-- OUT
d2 --|___| |___|
___
| |
-----| |-----------
|___|
其中,A1-OUT表示将A1和B1异或的结果,B1-OUT表示将A2和B2异或的结果,C1-OUT表示将C1和D1异或的结果,D1-OUT表示将C2和D2异或的结果,AB-OUT表示将A1-OUT和B1-OUT异或的结果,CD-OUT表示将C1-OUT和D1-OUT异或的结果,最后的OUT表示将AB-OUT和CD-OUT异或的结果。
通过使用异或门,我们可以设计一个实现门电路的简单电路。这条电路需要16个逻辑门,并且在工程实践中是非常常见的。
如果你想学习更多关于门和其他逻辑门的内容,可以参考布尔代数和数字电子学的基础课程。