代码之家  ›  专栏  ›  技术社区  ›  MLiuzzolino

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

  •  0
  • MLiuzzolino  · 技术社区  · 10 年前

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

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

    我还知道,就两个输入a和b而言,XOR和XNOR将是

    异或:“b+ab”

    XNOR:ab+a'b'

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

    1 回复  |  直到 10 年前
        1
  •  1
  •   Sami Kuhmonen    10 年前

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

    如果有偶数个1,则XOR门将为零,在本例中为0或2。如果有1,则为1。将输入分成两组,分别进行XOR。现在你知道这些组是偶数还是奇数。XNOR结果,您将知道整个结果。

    (A XOR B) XNOR (C XOR D)
    

    证明:

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

    如果由于某种原因,零甚至不起作用,这是行不通的,但在逻辑上,我一直都是这样。

    推荐文章