任意のオペランドに対するブール演算Aの結果とブール演算Bの結果が互いに否定の関係にあるとき,AはBの(又は,BはAの)相補演算であるという。
排他的論理和の相補演算はどれか。
正答1
解説
正解は1です。
相補演算とは、同じ入力に対して結果が常に反対(否定)になる演算のことです。
排他的論理和(XOR:Exclusive OR)は、2つの入力が異なるときに1、同じときに0を返します。
したがって、入力が同じときに1、異なるときに0を返す演算が相補演算になります。
【選択肢別解説】
1:○ 等価演算は、2つの入力が等しいときに1、異なるときに0を返す演算です。
XORの真理値表(00:0、01:1、10:1、11:0)をすべて反転した結果(00:1、01:0、10:0、11:1)と一致します。
そのため、等価演算はXORの相補演算です。
2:× 否定論理和(NOR)は、入力がともに0のときだけ1を返す演算です。
入力が11のときも0になるので、XORの否定(11のとき1)とは一致しません。
NORは論理和(OR)の相補演算です。
3:× 論理積(AND)は、入力がともに1のときだけ1を返す演算です。
入力が00のときに0となり、XORの否定(00のとき1)と一致しません。
ANDの相補演算は否定論理積(NAND)です。
4:× 論理和(OR)は、どちらかが1なら1を返す演算です。
入力が01や10のときは1となり、XORと同じ結果になる部分があります。
互いに否定の関係ではないので、相補演算ではありません。
【ポイント】
XORの否定は等価演算(XNOR)で、「一致検出」と覚えると便利です。
ANDとNAND、ORとNOR、XORと等価演算が、それぞれ相補演算の組です。