📜  门| GATE CS Mock 2018 |设置 2 |第 41 题(1)

📅  最后修改于: 2023-12-03 15:28:39.381000             🧑  作者: Mango

门 | GATE CS Mock 2018 |设置 2 |第 41 题

本题为门电路的实现,要求实现一个具有以下功能的门电路:

  1. 对于2位二进制数 a 和 b,如果其相等,则输出 1,否则输出 0。
  2. 电路只能使用 AND, OR 和 NOT 门
  3. 输入为 2 个2位二进制数,表示为 a1a0 和 b1b0,其中 ai 和 bi 的值为 0 或 1。
解题思路

本题要求使用 AND, OR 和 NOT 门实现一个相等判断电路,显然需要进行比较,这时候我们可以思考如何进行差分操作,即把两个数的每一位作差再进行运算。

接下来我们可以按照以下思路进行构造:

  1. 对于每一位,使用 XOR 门进行比较,如果对应位相同则输出 0,否则输出 1。
  2. 对于每一位输出,进行 AND 操作,得到所有位都相同的情况,即输入数值相等的情况。
  3. 对于所有 AND 操作的输出,进行 OR 操作,得到任意一位不同的情况,即输入数值不等的情况。

以下为门电路实现:

输入:a1a0, b1b0
输出:z

NOTa1 -> na1
NOTa0 -> na0
NOTb1 -> nb1
NOTb0 -> nb0

a1 XOR b1 -> y1
a0 XOR b0 -> y0

y1 AND y0 -> w

w AND na1 AND na0 -> x1
w AND na1 AND a0 -> x0
w AND a1 AND na0 -> y1
w AND a1 AND a0 -> y0

x1 OR x0 OR y1 OR y0 -> z
总结

本题解题难度中等,需要考虑如何将比较操作进行差分,可以使用 XOR 门来进行。在思路清晰的情况下,直接按照逻辑进行实现即可,需要注意每一步的输出作为下一步的输入。对于门电路的实现,可以直接使用逻辑符号进行表示。