論理回路

4ビットのデータを入力し,“1の入力数が0個又は偶数個のとき出力が1,奇数個のとき出力が0”になる回路はどれか。
ここで,各回路の図記号は次のとおりとする。
 [平成17年度秋期 基本情報技術者試験]

まず、日本語に置き換えるとどうなるか、確認しておきましょう。
AND回路=論理積回路
OR回路=論理和回路
XOR回路=排他的論理和回路
NOT回路=否定回路

ANDがくれば「足し算」→「和」という具合に連想しがちですが、ANDは論理です。注意しておきましょう。電流に置き換えると、ANDが直流、ORが並列です。XOR回路はOR回路の「真逆」と覚えておきましょう。XはExclusiveの略で、Exclusiveは排他的という意味です。


それでは、それぞれの論理回路で想定される出力を下に列挙してみます。
【AND回路=論理積
 1×1⇒1 1×0⇒0 0×0⇒0

【OR回路=論理和
 1+1⇒1 1+0⇒1 0+0⇒0

【XOR回路=排他的論理和回路】
 1XOR1⇒0 1XOR0⇒1 0XOR0⇒0 ポイント!「XORは1の入力がひとつの時だけ1を出力する!」 

【NOT回路=否定回路】
 NOT1⇒0 NOT0v1


まず、「1の入力数が0個のとき出力は1」という条件を検証してみます。入力が全部0(0000)だったとすると、、、

 0XOR0⇒0 0XOR0⇒0 0AND0⇒0 1の入力数が0個のとき出力が0なので、×
 0XOR0⇒0 0XOR0⇒0 0AND0⇒0 NOT0⇒1 これは条件を満たしている。判断保留
 0XOR0⇒0 0XOR0⇒0 0XOR0⇒0 1の入力数が0個のとき出力が0なので、×
 0XOR0⇒0 0XOR0⇒0 0XOR0⇒0 NOT0⇒1 これは条件を満たしている。判断保留

それでは次に、残ったイとエについて、「1の入力数が奇数のとき出力は0」という条件を検証してみます。入力が1110だったとすると、、、

 1XOR1⇒0 1XOR0⇒1 0AND1⇒0 NOT0⇒1 1の入力数が奇数のとき出力が1なので、×
 1XOR1⇒0 1XOR0⇒1 1XOR0⇒1 NOT1⇒0 1の入力数が奇数の時出力が0 残ったのはだけ。


正解は


これは難しいですね。あせらず落ち着いて、論理計算していくしかないのかもしれません。