真理値表に対応する論理演算はどれか。
| 入力A | 入力B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
この問題の解説と、これまでの解答の記録です。
真理値表に対応する論理演算はどれか。
| 入力A | 入力B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
正解 正解は「ア AND」。真理値表を上から順に読むと、出力が 1 になるのは (入力A, 入力B) = (1, 1) の行だけで、他の 3 行 (0,0) / (0,1) / (1,0) はすべて出力 0 です。「両方の入力がともに 1 のときだけ 1 を出力し、それ以外は 0」という振る舞いは、論理積 (AND 演算) の定義に完全に一致します。AND は日常語では「A かつ B」に当たり、条件を両方とも満たしたときだけ成立する演算だと覚えると、この表の形 (0 が 3 行、1 が 1 行だけ、しかも一番下) がそのまま AND の指紋になります。
NOT (論理否定) は入力を 1 つだけ取る単項演算で、0 を 1 に、1 を 0 に反転させます。設問の真理値表は入力A・入力B の 2 入力を取っているため、そもそも NOT では表現できません。仮に片方の入力だけを見て否定したとしても、(0,0) の行が 1 になってしまい、表の出力 0 と矛盾します。
OR (論理和) は「少なくとも一方が 1 なら 1」を出力する演算です。したがって (0,1) と (1,0) の行はどちらも出力 1 になるはずですが、設問の表ではこの 2 行の出力はいずれも 0 です。OR の真理値表は出力が 1 の行が 3 つ、0 の行が 1 つ (0,0 のときだけ 0) となり、設問の表とは 1 と 0 の個数が逆になります。
XOR (排他的論理和) は「2 つの入力が異なるときだけ 1、同じときは 0」を出力する演算です。よって (0,1) と (1,0) は 1、(1,1) は 0 となり、設問の表 (それぞれ 0, 0, 1) とは正反対の結果になります。特に、両方 1 のときに 0 になる点が AND との決定的な違いで、表の最終行が 1 である以上 XOR ではあり得ません。