NANDとは、二つのビットが1の時に0を返す演算です
それ以外では1を返します
OR演算は二つのビットが0の時に0を、それ以外では1を返します
例えばOR演算において両ビットが1の時は1を返しますが、これはNAND演算の結果と矛盾します
そこでNANDに対する各ビットの入力値をNOTで反転すれば、その結果は(NOT(1),NOT(1))-\u0026gt;NAND(0,0)-\u0026gt;1となりOR演算と整合します
この関係は以下の式で表せます
OR(A,B)=NAND(NOT(A),NOT(B))
各演算パターンは以下の通りです
OR(1,1)=NAND(NOT(1),NOT(1))=NAND(0,0)=1
OR(0,0)=NAND(NOT(0),NOT(0))=NAND(1,1)=0
OR(1,0)=NAND(NOT(1),NOT(0))=NAND(0,1)=1
OR(0,1)=NAND(NOT(0),NOT(1))=NAND(1,0)=1