論理回路とは?スイッチのつなぎ方で理解するAND・OR・NOT

IT・コンピュータ基礎
スイッチの直列接続(AND)と並列接続(OR)の回路図

「部屋の電気をつけるには、スイッチを入れればいい」——当たり前のことに聞こえる。

では、2つのスイッチを直列につないだらどうなるか。両方入れないと電気がつかない。2つのスイッチを並列につないだらどうなるか。どちらか一方を入れれば電気がつく。

この「直列 = 両方必要」「並列 = どちらか一方でいい」という2つの仕組みが、コンピュータの計算の根っこにあるAND回路とOR回路だ。

コンピュータのCPUの中には何十億個もの「論理ゲート」と呼ばれる部品が入っている。一つひとつは「スイッチが直列か並列か」というシンプルな仕組みだ。それを組み合わせることで、足し算も引き算も、条件判断も実現している。


この記事でわかること

  • AND・OR・NOT・XORの4つの基本論理ゲートの動作
  • 真理値表の読み方と書き方
  • 論理ゲートを組み合わせると計算ができる理由
  • 高校情報Ⅰ・ITパスポートでよく出る問題パターン

まずは言葉の整理:論理回路・ゲート・真理値表

📌 要点:論理回路は0と1の入力を受け取り0か1を出力する回路。個々の部品を「ゲート」と呼ぶ。どの入力の組み合わせでどの出力になるかを表にしたものが真理値表。この3つがセットで理解の土台になる。

AND・OR・NOT・XORの真理値表と論理ゲート記号一覧

難しい言葉が出てきたが、意味は単純だ。

言葉意味例え
論理回路0と1を入力して0か1を出力する回路全体スイッチと電球を組み合わせた装置
論理ゲート回路の中の個別の部品(ANDゲートなど)直列スイッチや並列スイッチ1組
真理値表入力の全組み合わせと対応する出力の一覧表「こうつないだらこうなる」対応表

0と1は「電気が流れていない/流れている」「偽/真」「オフ/オン」など、文脈によって色々な意味を持つ。でも計算上は「0か1か」という点では全部同じだ。


4つの基本ゲート:真理値表で動作を確認する

📌 要点:基本ゲートはAND・OR・NOT・XORの4種類。ANDは「全部1なら1」、ORは「どれか1なら1」、NOTは「反転」、XORは「違いがあれば1」。真理値表で全パターンを確認できる。

ANDゲート(論理積):両方オンなら電気が流れる

直列につないだスイッチだ。AもBも両方オンのときだけ電気が流れる(出力が1になる)。

入力A入力B出力
000
010
100
111

「AかつB」という条件判断そのものだ。「ログインしていて、かつ管理者権限がある場合のみ実行」という処理は、ANDゲートの考え方だ。

ORゲート(論理和):どちらかオンなら電気が流れる

並列につないだスイッチだ。AかBのどちらか一方でもオンなら電気が流れる。

入力A入力B出力
000
011
101
111

「AまたはB」の判断だ。「会員カードか、当日チケットを持っていれば入場可」という条件はORゲートだ。

NOTゲート(否定):入力を逆にする

入力が1なら0、0なら1を出力する。入力は1つだけだ。

入力A出力
01
10

「スイッチが入っていないとき電気が流れる」——ドアが開いているとアラームが鳴る、というような「逆の条件」を作りたいときに使う。

XORゲート(排他的論理和):違うときだけ1

「どちらか一方だけオンのとき」に出力が1になる。両方オン・両方オフなら0だ。

入力A入力B出力
000
011
101
110

「どちらか一方、でも両方はダメ」——「A棟かB棟、どちらかの電気が消えているとアラートを出す(両方消えてる場合は別の対処)」という処理イメージだ。XORは2進数の加算で特に重要になる(後述)。


組み合わせると計算ができる:半加算器の仕組み

📌 要点:XORゲートとANDゲートを組み合わせると「1ビット同士の足し算」ができる回路(半加算器)になる。「1+1=10」という2進数の繰り上がりをANDが担当し、XORが「桁の結果」を担当する。

XORとANDを組み合わせた半加算器の回路図

「ゲートを組み合わせると計算できる」という話を、一番シンプルな例で確認しよう。

2進数の1ビット同士の足し算を考える。

0+0 = 0     (繰り上がりなし)
0+1 = 1     (繰り上がりなし)
1+0 = 1     (繰り上がりなし)
1+1 = 10    (桁の結果は0、繰り上がりが1)

「桁の結果」と「繰り上がり」の2つを出力する回路を半加算器(はんかさんき)という。

入力A入力B桁の結果(S)繰り上がり(C)
0000
0110
1010
1101

「桁の結果(S)」の列を見ると、XORゲートの出力と完全に一致する。
「繰り上がり(C)」の列を見ると、ANDゲートの出力と完全に一致する。

つまり、XORゲートで桁の結果を、ANDゲートで繰り上がりを出力すれば半加算器になる。スイッチを2種類つなぐだけで足し算ができてしまう。

CPUの中の算術演算ユニット(ALU)は、この半加算器を何億個も組み合わせたものだ。「スイッチのつなぎ方」が積み重なって、現代のコンピュータの計算能力が生まれている。


論理式の書き方

📌 要点:論理回路は図だけでなく「論理式」という数式で表せる。ANDは「・」または「∧」、ORは「+」または「∨」、NOTは「¬」または変数の上にバー記号で書く。試験では図と式の両方で問われる。

論理回路は記号(回路図)と式(論理式)の両方で表現できる。

ゲート論理式の書き方読み方
ANDA・B または A∧BAかつB
ORA+B または A∨BAまたはB
NOT¬A または Ā(Aの上にバー)Aでない
XORA⊕BAとBの排他的論理和

例:「AとBの両方が1のとき、またはCが0のとき、出力は1」という条件

論理式: (A・B) + ¬C

この式が読めると、回路図を見たときに「ああ、ANDゲートの結果とNOTゲートの結果をORで合わせているんだな」と即座に理解できる。


高校情報Ⅰ・ITパスポートでよく出る問題パターン

📌 要点:試験では「真理値表を完成させる」「論理式から回路図を描く」「回路図から真理値表を作る」の3パターンが頻出。回路を追うときは入力を左から右へ1ゲートずつ計算するのが確実。

頻出パターン①:真理値表の穴埋め

問:A=1、B=0のとき、AND・OR・XORの出力はそれぞれいくつか

AND: 1・0 = 0
OR:  1+0 = 1
XOR: 1⊕0 = 1(値が違うので1)

頻出パターン②:複合回路の出力を求める

「A=1、B=0を入力したとき、(A AND B) OR (NOT A) の出力は?」

ステップ1: A AND B = 1・0 = 0
ステップ2: NOT A = ¬1 = 0
ステップ3: 0 OR 0 = 0+0 = 0
答え: 0

ポイントは「カッコの中から先に計算する」こと。数学の計算順序と同じだ。

頻出パターン③:NAND・NORの計算

試験にはANDの結果を反転させたNAND(NOT AND)と、ORの結果を反転させたNOR(NOT OR)も登場する。

NAND の真理値表(ANDの出力を全部反転):
A=0, B=0 → 1
A=0, B=1 → 1
A=1, B=0 → 1
A=1, B=1 → 0  ← ANDなら1のところだけ0になる

FAQ

Q
ANDとORは算数の「かけ算と足し算」に似ていますか?
A

かけ算と足し算と似ています。
ANDを「・」(掛け算の点)、ORを「+」(足し算)で書くのはその類似からです。ただし論理演算では「1+1=1」(どちらか1なので出力は1)であり、算数の「1+1=2」とは違います。「ルールは似ているが数値は違う」と覚えてください。

Q
論理回路は実際にハードウェアとして存在しますか?
A

はい、ハードウェアとして存在しまいます。CPUの中に何十億個もの論理ゲートが集積されています。現代の半導体製造技術では、1つのチップに2nm(ナノメートル)レベルの微細なトランジスタを数百億個配置できます。1つのトランジスタが1つのスイッチに対応し、複数のトランジスタでゲートを構成します。

Q
XORは他のゲートで作れますか?
A

ほかのゲートでも作れます。
A XOR B = (A OR B) AND NOT(A AND B) という式で表せます。実際、NANDゲートだけですべての論理回路を作れることが証明されています(NANDの完全性)。これがメモリや演算回路の設計でNANDが多用される理由のひとつです。

Q
真理値表を効率よく覚える方法はありますか?
A

それぞれの回路の意味を覚えるのが一番です。
AND=「両方揃って初めてOK」(厳しい条件)、OR=「どちらかあればOK」(緩い条件)、NOT=「逆にする」、XOR=「違うときだけ1」。語呂合わせより「どんな条件判断か」というイメージで記憶すると応用が利きます。

Q
プログラミングでの「&&」「||」「!」は論理回路と同じですか?
A

プログラミングでも同じ考え方です。
PythonやJavaScriptなどのand/&&はAND、or/||はOR、not/!はNOTに対応します。プログラムの条件分岐(if文)は論理ゲートの考え方が直接使われています。

Q
半加算器と全加算器の違いは何ですか?
A

半加算器は2ビットの入力を足す回路ですが、前の桁からの繰り上がりを考慮できません。
全加算器は「前の桁からの繰り上がり」を3つ目の入力として受け取れる回路です。実際のCPUの加算器は全加算器を多段に連結して多ビットの加算を行います。


まとめ

  • ANDゲートは直列スイッチ。両方オンのときだけ出力が1になる
  • ORゲートは並列スイッチ。どちらかオンなら出力が1になる
  • NOTゲートは入力を反転。0→1、1→0
  • XORゲートは入力が違うときだけ1。2進数の加算と相性が良い
  • ゲートを組み合わせると足し算ができる回路(半加算器)になる。これがCPUの計算の原点

スイッチを直列につなぐか並列につなぐか——その単純な違いから、現代のコンピュータのすべての計算が生まれている。「難しい技術」に見えるものも、根っこまで辿れば「電球がつくかどうか」の話だ。


関連記事

論理回路の土台となる2進数の仕組みはこちら。
2進数・16進数とは?電球のオンオフで理解する数の仕組み

論理回路が集まってできるCPUの仕組みを知りたい方はこちら。
CPUの仕組みを豆電球で理解する
“`

タイトルとURLをコピーしました