問64
頻出度★★☆
次の真理値表で示される入力x,yに対する出力zが得られる論理演算式はどれか。
| x | y | z |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
この問題の解説と、これまでの解答の記録です。
次の真理値表で示される入力x,yに対する出力zが得られる論理演算式はどれか。
| x | y | z |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
x AND y (論理積) は「両方が 1 のときだけ 1」なので、出力は順に 0, 0, 0, 1 になります。表とはちょうど逆で、x=y=0 の行が 0、x=y=1 の行が 1 となり一致しません。
NOT(x AND y) は NAND (否定論理積) で、出力は順に 1, 1, 1, 0 です。1 行目の z=1 は合いますが、2 行目 (0,1) と 3 行目 (1,0) が 1 になってしまい、表の 0 と食い違います。
正解 真理値表を読むと、出力 z が 1 になるのは x=0 かつ y=0 の 1 行だけで、x か y のどちらかが 1 になると z は必ず 0 になります。「入力がどちらも 0 のときだけ 1」という振る舞いは、まず x OR y を求めてからその結果を反転させたもの、すなわち NOT(x OR y) です。実際に検算すると、x OR y は順に 0, 1, 1, 1 となり、これを NOT で反転すると 1, 0, 0, 0 となって表の z 列と完全に一致します。この演算は NOR (否定論理和) と呼ばれます。したがって正解はウです。
x OR y (論理和) は「どちらかが 1 なら 1」なので出力は順に 0, 1, 1, 1 となり、表の z 列 1, 0, 0, 0 とすべての行で逆になります。NOT を付け忘れた形であり、そのままでは正解になりません。