論理回路(logic circuit)
- テクノロジ系
- ハードウェア
- 基本情報
- 応用情報
- 重要度 ★★★☆☆
0と1の入力に対し、決まった規則で0か1を返す回路。AND・OR・NOTを組み合わせて作る。
もう少し詳しい説明
論理回路は、0と1の入力に対して、決まった規則で0か1を返す回路です。
コンピュータの中で扱えるのは、電気が流れているか(1)いないか(0)の2つだけです。そのうえで足し算や比較を行うために、0と1の組合せから0と1を作る部品を並べます。その部品を論理素子、組み合わせたものを論理回路と呼びます。
基本の3つ
まずはこの3つです。左から入力が入り、右へ出力が出ます。
入力の組合せごとに出力を並べた表を真理値表といい、回路の動きはこれで確かめます。
| 入力 A | 入力 B | 出力(AND) | 出力(OR) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 |
左の2列(AとB)が入れる値、右の2列がそれぞれの素子から出てくる値です。ANDとORは別々の素子なので、同じ入力を与えたときにそれぞれ何を返すかを並べて見ています。
- AND(論理積) … 両方が1のときだけ1。「かつ」
- OR(論理和) … どちらか一方でも1なら1。「または」
- NOT(否定) … 入力を反転する。1なら0、0なら1
NOTは入力が1つだけなので、表も2行で済みます。
| 入力 A | 出力(NOT) |
|---|---|
| 0 | 1 |
| 1 | 0 |
ORは「どちらか一方だけ」ではありません。両方1のときも1です。ここを取り違えると、次のXORと混ざります。
よく出る残りの3つ
名前が、そのまま何の略かを表しています。
| 名前 | 何の略か | 動き |
|---|---|---|
| XOR(排他的論理和) | eXclusive OR(排他的なOR) | 異なるときだけ1 |
| NAND(否定論理積) | NOT + AND | ANDの出力を反転(両方1のときだけ0) |
| NOR(否定論理和) | NOT + OR | ORの出力を反転(両方0のときだけ1) |
頭にNが付いたら、NOTが付いているということです。NANDとNORは、それぞれANDとORの答えを出してから、最後にひっくり返すだけです。
XORの「eXclusive(排他的な)」は、「両方とも」を締め出すという意味です。ORから「両方1」の場合だけを除いたもの、と考えると形が見えます。
4つを並べると、こうなります。
| 入力 A | 入力 B | AND | OR | XOR | NAND | NOR |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
NANDの列はANDの列の逆、NORの列はORの列の逆になっています。縦に見比べてみてください。
記号の形
回路図では、素子はMIL記号という決まった形で書かれます。
形の違いは2つだけです。
- 本体の形 … ANDは右が半円、ORは右がとがっている
- 出口の小さな丸 … 付いていれば「反転する」という意味
つまり、NANDはANDに丸を足しただけ、NORはORに丸を足しただけです。NOTは三角形に丸。XORはORの左側に、もう1本線が増えています。
問題の図を見たら、まず出口の丸があるかどうかを見てください。それだけでN付きかどうかが決まります。
足し算を作ってみる
論理回路が何の役に立つのかは、足し算を作ってみると分かります。
2進数で 1 + 1 は 10 です。答えが2桁になります。
- 下の桁(和) … (0,1) と (1,0) のときだけ1になる = XOR
- 上の桁(桁上げ) … 両方1のときだけ1になる = AND
この2つを並べて、AとBを両方につなぐと、1桁の足し算をする回路ができます。これを半加算器と呼びます。
AとBから出た線が、XORとANDの両方につながっているところに注目してください。同じ入力を2つの素子に配って、別々の答えを出させています。
入れる値を変えると、出てくる答えも変わります。
回路そのものは同じで、入力だけが違います。1+0 なので、和は1、桁上げは0。答えは「01」、つまり1です。
全加算器:下からの繰り上がりも受け取る
半加算器には、下の桁から上がってきた繰り上がりを受け取る口がありません。2桁以上の足し算では、これがないと困ります。
そこで入力を3つ(A、B、下からの桁上げ Cin)にしたものが全加算器です。
半加算器2つ分のはたらきを、最後にORでまとめた形になっています。これを桁の数だけ横に並べれば、何桁の足し算でもできます。
半は「半分」ではなく「桁上げを受け取らない」という意味だと押さえておくと、2つを取り違えません。
ド・モルガンの法則
式を整理するときに使う規則です。応用情報でよく出ます。
- NOT(A AND B) = NOT(A) OR NOT(B)
- NOT(A OR B) = NOT(A) AND NOT(B)
言葉にすると、**「全体の否定は、ばらして否定して、ANDとORを入れ替える」**です。
回路にすると、形がまったく違うのに答えが同じになる、ということが見えます。
上は「まとめてから反転」、下は「反転してからまとめる」。どの入力を与えても、2つの答えは必ず一致します。4通りすべてを試してみると確かめられます。
日本語で言い換えてみるのも手です。「両方そろってはいない」=「どちらかが欠けている」、「どちらも無い」=「これも無く、あれも無い」。当たり前のことを言っているのが分かります。
覚え方:真理値表を4行書く
素子の名前で迷ったら、(0,0) (0,1) (1,0) (1,1) の4行を紙に書くのがいちばん確実です。
- 1が1行だけ … AND(一番下の行)
- 0が1行だけ … OR(一番上の行)
- 1が真ん中の2行 … XOR
1になる行がどこにあるかで3つが分かれます。ここにNが付けば、全部ひっくり返すだけです。
試験ではこう出る
科目A(旧・午前)のハードウェア分野で出ます。多いのは、真理値表や動作の説明を示して素子名を答えさせる問題と、MIL記号の回路図を読んで出力を求める問題です。半加算器・全加算器の構成や、ド・モルガンの法則を使った式の変形も問われます。科目B(旧・午後)でも、条件分岐の組合せとして論理演算が出てきます。
回路図を読む問題は、入力の組合せを1行ずつ書き出して、素子ごとに答えを埋めていくのが確実です。途中の線に0や1を書き込んでいけば、頭の中で追う必要がなくなります。もう1つ、ORは「両方1」でも1という点は毎回狙われるので、XORと並べて確認しておいてください。
関連する用語
- 真理値表
- 入力の組合せごとに出力を並べた表。論理回路の動きは、これで確かめる
- 排他的論理和(XOR)
- 2つの入力が異なるときだけ1になる演算。足し算の下の桁を作るのに使う
- 半加算器・全加算器
- 1桁の足し算を行う回路。半加算器は下からの桁上げを受け取らない
- ド・モルガンの法則
- ANDとORを、否定を使って言い換える規則。式の整理でよく使う
- 2進数
- 0と1だけで数を表す方法。論理回路が扱えるのはこの形
ミニクイズ
2つの入力A、Bに対して、AとBが異なる値のときだけ出力が1になる論理素子はどれか。
正解は 1番:排他的論理和(XOR)
排他的論理和(XOR)は、2つの入力が異なるときだけ1になります。つまり(0,1)と(1,0)で1、(0,0)と(1,1)では0です。論理積(AND)は両方が1のときだけ1になるので、異なるときは0です。論理和(OR)はどちらか一方でも1なら1になるため、両方1のときも1になり、条件に合いません。否定論理積(NAND)はANDの出力を反転したもので、両方1のときだけ0、それ以外はすべて1になります。「異なるときだけ」という言い方が出てきたらXOR、と結び付けておくと迷いません。
最終更新:2026-09-20