論理回路と論理演算|AND・OR・NOT・XORの真理値表と半加算器

公開 2026年11月8日

コンピュータの中の計算は、すべて0と1を組み合わせる論理演算でできています。論理演算を行う電子回路が**論理回路です。共通テストでは、真理値表を完成させる問題、回路の出力を求める問題、そして画像などのビットごとの論理演算**が出題されます。

基本の論理演算

入力を A・B、出力を X とします。1は「真(オン)」、0は「偽(オフ)」です。

AND(論理積):両方が1のときだけ1

A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1

OR(論理和):どちらかが1なら1

A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1

NOT(否定):0と1を反転する

A NOT A
0 1
1 0

XOR(排他的論理和):入力が異なるときだけ1

A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

ORとの違いは、両方が1のときに0になる点です。

NAND・NOR

NAND は AND の結果を反転したもの(両方が1のときだけ0)、NOR は OR の結果を反転したもの(両方が0のときだけ1)です。NAND だけを組み合わせれば、どんな論理回路も作れることが知られています。

身近な例で考える

論理回路を読む

論理回路の図では、AND・OR・NOT などを記号(図記号)で表し、線でつないで組み合わせます。出力を求めるときは、入力側から順に、途中の線の値を書き込んでいくのが確実です。

例: X = (A AND B) OR (NOT C) で、A = 1、B = 0、C = 0 のとき

  1. A AND B = 1 AND 0 = 0
  2. NOT C = NOT 0 = 1
  3. X = 0 OR 1 = 1

入力が3つあれば、組合せは 23 = 8 通りです。真理値表を作るときは、000 から 111 まで2進数の順に並べると漏れがありません。

半加算器と全加算器

2進数の足し算も、論理回路で計算できます。

半加算器

1桁の2進数 A と B を足して、和の桁 S と桁上がり C を出す回路です。

A B C(桁上がり) S(和)
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

表を見ると、S は A XOR B、C は A AND B と同じです。つまり半加算器は、XOR回路とAND回路を1つずつ使って作れます。

全加算器

半加算器は、下の桁からの桁上がりを足せません。下の桁からの桁上がりも含めて3つの1ビットを足す回路が全加算器で、半加算器2つとOR回路で作れます。全加算器を桁の数だけ並べると、何桁の足し算もできます。

ビットごとの論理演算

2つのビット列の、同じ位置のビットどうしで論理演算をすることをビットごとの演算といいます。

    1100
AND 1010
--------
    1000

白(すべて1)・黒(すべて0)との演算

演算 白(1111)と 黒(0000)と
OR 必ず白(1111) 相手がそのまま残る
AND 相手がそのまま残る 必ず黒(0000)

この性質を使うと、「残したい部分を白、消したい部分を黒にした画像(マスク)」と演算するだけで、画像の一部分だけを残したり消したりできます。2026年の本試験 第2問B では、背景の画像とキャラクターの画像を、OR演算とAND演算を組み合わせて合成する問題が出ました(「2026年 第2問 解説」)。

プログラムの中の論理演算

共通テスト用プログラム表記では、条件を組み合わせるときに and・or・not を使います。

2026年の本試験 第3問 では、「(taiken <= 15) and (saichou < 10) の間繰り返す」という条件が出ました。

共通テストでの出題

よくある間違い

まとめ

確認問題

問題を準備しています…

この分野が出た過去問

関連する用語