XORゲートを使用してANDゲートを書くことは可能ですか?


21

XORゲートのみを使用してANDゲートを表現するにはどうすればよいですか?


1
なぜあなたはxorで何を表現しゲートするのですか?
— -ABD

1
私は準同型暗号化について何かを読んでいます。すなわち、この論文eprint.iacr.org/2013/094.pdfはLTVスキームとしても知られています。そこでは、乗算はANDを意味し、2ビット間の加算はXORを意味すると述べられています。XORのみを使用してスキームを書き換えることが可能かどうかを尋ねます。質問を暗号化ベータ版に移行する必要がありますか?
— user2991856



回答:


36

できません。

以来、連想、すなわち、あなただけのフォームの機能を実装することができ。これは、(およびインスタンス数のパリティに応じて)0、、、またはいずれかと同等であり、ANDと同等ではありません。(X 1 ⊕ X 2)⊕ X 3 = X 1 ⊕ (X 2 ⊕ X 3)X I 1 ⊕ 。。。⊕ X I 、K、X I 、J ∈ { X 1、X 2 } 、X 1 X 2 X 1 X 2 X 1 ⊕ X 2XOR(x1⊕x2)⊕x3=x1⊕(x2⊕x3)xi1⊕...⊕xikxij∈{x1,x2}x1x2x1x2x1⊕x2


5
入力として0と1も許可したい場合があります。ただし、上記の否定も得られますが、まだANDは得られません。
— -Taemyr

19

うーん。確かにブール代数ではできませんが、物理的に代数演算を行うことができます。トリックは、入力の1つをXORゲートの電源リードに配線することです。

                     I2
                     |
      0  I1          |
      |   |          |
     \|   |/         |
     |\   / |        |
.|---| \ /  |--------/
     \  V  /  
      \   /  
       \ /  
        V 
        |            
     AND OUTPUT

XORゲートは非反転バッファーとして配線されています。関連するトリックは、VCCをGNDに配線した場合(または拡張によりロジックグランド)、出力が弱いGNDになることです。

免責事項:これは私が持っているシリコンで動作しますが、すべてのシリコンで動作するとは限りません。


8
これがどのように機能するかの説明は、これをはるかに良い答えにします。
— デビッドリチャービー

この場合、最初のゲートは冗長ではありませんか?
— -Nit

1
これら.|は|>何ですか?
— -Wojowu

1
@WojowuグラウンドとVcc、私は推測します。
— ジョンドボラック

4
「すべてのシリコンで動作するとは限りません。」...はい、さらには一部に損傷を与える可能性があります-電源をオフにして物理ゲートに入力を適用するか、さらに悪いことに電源をオンにすると、多くの部品で規格外になります(再:CMOSラッチアップ効果!)。また、最初のゲートの「真の」出力電圧は電源電圧よりも低く、どれだけ低いかに応じて、2番目のゲートの入力レベルの解釈が大幅にシフトします。また、下側のゲートに電力が供給されていない場合、I2がグランドへの効果的な短絡になることはありえません(保護ダイオード、相補出力...)。
— rackandboneman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.