応用情報技術者試験 令和3年春 午前問1 解説付き過去問
問題
任意のオペランドに対するブール演算Aの結果とブール演算Bの結果が互いに否定の関係にあるとき、AはBの(又は、BはAの)相補演算であるという。
排他的論理和の相補演算はどれか。
正解
解説
この問題は、排他的論理和(XOR)の相補演算に関する理解を問うものです。相補演算とは、ある論理演算と、その結果が常に反対となる論理演算の組合せを指します。したがって、XORとその相補演算である論理のペアを理解することが正解に結びつきます。
- XOR(排他的論理和)の動作
XORは、2つの入力が異なるときに真(1)を返し、同じときには偽(0)を返す論理演算です。
真理値表は以下の通りです:
A=0、B=0 → 0
A=0、B=1 → 1
A=1、B=0 → 1
A=1、B=1 → 0 - XORの相補演算
XORの相補演算は、XORの出力を反転した論理演算、すなわち「等価(XNOR)」になります。
XNORは、2つの入力が同じときに真(1)を返し、異なるときに偽(0)を返します。
このため、どの入力パターンにおいてもXORとXNORの出力は完全に反転の関係となっており、互いに相補演算の関係にあります。 - 図形的な視点(補集合)
集合の視点から見ても、XORが白い部分(異なるとき)を示すならば、XNORは黒い部分(等しいとき)を示し、両者はちょうど補集合の関係にあることがわかります。
このように、結果が完全に反転する関係にあるという点が相補演算の本質です。
したがって、排他的論理和(XOR)の相補演算は、等価(XNOR)であり、2つの入力が等しいときに真を返す論理演算が正解となります。