論理演算と真理値表をやさしく図解 — AND・OR・NOT・XOR・ド・モルガン
「ANDとORはどっちが"両方"だっけ?」「XORって何に使うの?」——論理演算は、0(偽)と1(真)だけの世界のルールです。コンピュータの計算・判断はすべてこの組み合わせでできています。この記事では、基本のゲートと真理値表、ド・モルガンの法則までを図解します。入力をクリックして動かすなら 論理回路シミュレータ もどうぞ。
論理演算とは — 0と1で「判断」を作る
論理演算は、入力を0(偽・False)か1(真・True)のどちらかとして扱い、決まったルールで出力を1つ決める計算です。「気温が高いかつ湿度が高いなら不快」のような条件判断は、そのままAND・ORで表せます。各演算の入出力を一覧にしたのが真理値表です。
基本の3つ:AND・OR・NOT
| 入力 | AND(論理積) 両方1で1 | OR(論理和) 片方でも1で1 | |
|---|---|---|---|
| A | B | A・B | A+B |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 |
NOT(否定)は入力を反転するだけ:0→1、1→0。「Aの否定」を Ā や ¬A と書きます。この3つ(AND・OR・NOT)があれば、原理的にどんな論理も組み立てられます。
XOR(排他的論理和)— 「違うときだけ1」
XORは、2つの入力が異なるときだけ1になります(同じなら0)。これは「2進数の足し算で、繰り上がりを除いた桁の値」そのもの。ビット反転や、パリティ(誤り検出)、暗号処理などで重要な役割を果たします。
| A | B | XOR(異なると1) | NAND(ANDの否定) | NOR(ORの否定) |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 0 | 0 | 0 |
NAND・NORは、それぞれAND・ORの出力を反転したものです。実はNAND(またはNOR)だけを組み合わせれば、あらゆる論理回路を作れます(完全性)。だから実際のICではNANDが多用されます。
🖥️ クリックして動かすなら:論理回路シミュレータで、AND・OR・NOT・XOR・NAND・NOR・XNORの7ゲートを、入力0/1をクリックしながら出力と真理値表の連動を確かめられます。半加算器(1桁の2進数の足し算回路)がXORとANDでどう組まれるかも見られます。
ド・モルガンの法則 — 否定でAND⇔ORが入れ替わる
論理式を変形するときの必須ルールです。「かたまり全体の否定」は、中を否定してAND⇔ORを入れ替えたものに等しい、という法則です。
| 元の式 | ド・モルガンで変形 |
|---|---|
|  ̄(A・B)(AとBのANDの否定) | Ā + B̄(Aの否定 OR Bの否定) |
|  ̄(A+B)(AとBのORの否定) | Ā・B̄(Aの否定 AND Bの否定) |
言葉にすると「『AもBも真、ではない』=『Aが偽 または Bが偽』」。条件式の書き換えや、回路をNANDだけ・NORだけに置き換える簡略化で活躍します。プログラムの if (!(a && b)) を if (!a || !b) に直すのも、まさにこの法則です。
基本情報技術者試験ではこう出る
「真理値表からゲートを特定する」「与えられた論理式を簡単にする」「ド・モルガンの法則で変形する」「半加算器・全加算器の構成」が定番です。とくにAND=両方1、OR=片方1、XOR=違うと1の3つと、ド・モルガンの法則は確実に押さえましょう。ベン図で考えると、集合演算(積集合・和集合・補集合)とも対応していることが見えてきます。ビット演算は2進数と基数変換の理解とも直結します。
よくある質問
Q. 論理演算と集合演算(ベン図)の関係は?
A. 対応しています。AND=積集合(∩・重なり)、OR=和集合(∪・全体)、NOT=補集合(外側)。ベン図で塗り分けると、真理値表と同じ結果になります。両方を行き来できると理解が深まります。
Q. XNOR(一致)とは?
A. XORの否定で、2つの入力が同じときだけ1になります(一致回路)。0と0、1と1で1、異なると0。「等しいか」を判定する場面で使われます。
Q. ビット演算のANDやORはどう使う?
A. プログラムでは、特定のビットだけを取り出す(マスク:x AND 0x0F)、ビットを立てる(x OR フラグ)、反転する(x XOR マスク)などに使います。サブネットマスクの計算(IP AND マスク)も論理積の応用です(サブネットマスクの計算参照)。
まとめ
論理演算は、AND=両方1、OR=片方1、NOT=反転、XOR=違うと1——この4つが土台です。そこにNAND/NOR(否定版)とド・モルガンの法則(否定でAND⇔OR)を加えれば、試験の論理回路問題はほぼ攻略できます。真理値表を書く習慣をつけて、シミュレータで動きを確かめておきましょう。
関連ページ: 論理回路シミュレータ / 2進数と基数変換 / 記事一覧