如何使用 2 输入 XOR 和 XNOR 门创建一个电路来检测偶数个输入 a、b、c、d 是否为 1?

How do I use 2-input XOR and XNOR gates to create a circuit that detects whether an even number of inputs a, b, c, d is 1?

我对如何解决这个问题有点困惑。我已将问题转化为以下布尔方程:

F = abc'd' + ab'cd' + ab'c'd + a'bcd' + a'bc'd + a'b'cd + abcd

我也知道,对于两个输入 a 和 b,XOR 和 XNOR 将是

异或:a'b + ab'

异或:ab + a'b'

如何将其变成仅使用 2 输入 XOR 和 XNOR 门的电路?任何指向正确方向的指示都会很棒。我完全卡住了。谢谢!!

如果零被接受为偶数那么它很简单。

一个XOR门如果有偶数个1就是0,这里是0或者2。如果有一个就是1。将输入分成两组,分别异或。现在您知道这些组的数量是偶数还是奇数。 XNOR 的结果,你会知道整个结果。

(A XOR B) XNOR (C XOR D)

证明:

  • 如果A和B的个数为偶数,则xor为0。C和D同理。0和0的XNOR为1。
  • 如果A和B的个数为奇数,则XOR为1。那么C和D也需要奇数。 1 和 1 的 XNOR 是 1.
  • 如果一个有奇数,另一个有偶数,则结果为 0 和 1,它们的 XNOR 为 0。

如果出于某种原因甚至不为零,这将不起作用,但在逻辑上对我来说一直如此。