最終更新日:2026年8月7日
fe technology hardware logic-circuit
まず結論
半加算器(Half Adder)とは、2つの1ビットの数を加算し、下位ビットの和 S と上位ビットの桁上がり C を出力する論理回路です。
科目Aでは、次の対応を押さえると判断できます。
桁上がり C
→ 両方が1のときだけ1
→ AND
和 S
→ 片方だけが1のとき1
→ XOR
したがって、半加算器の論理式は次のとおりです。
C = A・B
S = A XOR B
XORを論理積・論理和・否定で表すと、次の式になります。
S = (A・¬B) + (¬A・B)
直感的な説明
半加算器は、2進数の1桁だけを足し算する回路です。
1ビットの数 A と B を加算すると、結果は最大2ビットになります。
0 + 0 = 00
0 + 1 = 01
1 + 0 = 01
1 + 1 = 10
この2ビットを、次のように分けます。
上位ビット C
→ Carry
→ 桁上がり
下位ビット S
→ Sum
→ 和
例えば、1 + 1 = 10 では、下位ビットの和は0、上位ビットの桁上がりは1です。
1 + 1 = 10
↑↑
C S
定義・仕組み
半加算器の真理値表
半加算器の入力と出力を整理すると、次のようになります。
| A | B | C | S |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
この表から、CとSの規則を読み取ります。
桁上がりCはAND
Cが1になるのは、AとBの両方が1のときだけです。
A=1
かつ
B=1
→ C=1
これは論理積ANDと同じです。
C = A・B
和SはXOR
Sが1になるのは、AとBのどちらか片方だけが1のときです。
A=0, B=1
→ S=1
A=1, B=0
→ S=1
一方、AとBが同じ値ならSは0です。
A=0, B=0
→ S=0
A=1, B=1
→ S=0
これは排他的論理和XORと同じです。
S = A XOR B
XORを論理式で表す
XORが1になる条件は2つあります。
Aだけが1
→ A・¬B
Bだけが1
→ ¬A・B
この2つをORで結びます。
S = (A・¬B) + (¬A・B)
回路の構成
半加算器は、AND回路とXOR回路を組み合わせて構成できます。
A ─┬─ AND ─→ C
│
B ─┘
A ─┬─ XOR ─→ S
│
B ─┘
どんな場面で使う?
2進数の加算回路
半加算器は、デジタル回路で2進数を加算するための基本部品です。
CPU内部の演算回路では、複数の加算回路を組み合わせて、より大きなビット数の計算を行います。
論理回路の学習
半加算器は、真理値表から論理式を作る練習によく使われます。
真理値表を見る
↓
1になる条件を取り出す
↓
論理式へ変換する
この考え方は、他の論理回路問題にもそのまま使えます。
全加算器の構成要素
全加算器は、半加算器を組み合わせて構成できます。
半加算器が扱う入力は2つですが、全加算器は下位桁からの桁上がりも入力に含めます。
よくある誤解・混同
和だからORとは限らない
論理式では + がORを表すことがありますが、2進数の加算結果の下位ビットSは単純なORではありません。
1 + 1 のとき、ORなら1ですが、加算結果の下位ビットは0です。
1 OR 1 = 1
1 + 1 = 10
下位ビットS = 0
したがって、SはORではなくXORです。
CとSを逆にしない
C
→ Carry
→ 桁上がり
S
→ Sum
→ 和
英語の意味と結びつけると覚えやすくなります。
AND・OR・XORの違い
| A | B | AND | OR | XOR |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
試験では、次の言い換えで切り分けます。
両方が1
→ AND
どちらか一方以上が1
→ OR
どちらか片方だけが1
→ XOR
半加算器と全加算器の違い
半加算器は、2つの入力AとBだけを加算します。
全加算器は、AとBに加えて、下位桁から来る桁上がりも入力に含めます。
| 回路 | 入力 |
|---|---|
| 半加算器 | A、B |
| 全加算器 | A、B、下位桁からの桁上がり |
入力が2つ
→ 半加算器
入力が3つ
→ 全加算器
科目Aでの切り分け
まず、桁上がりCを確認します。
桁上がりは11のときだけ
→ C = A・B
これで、CがORになっている選択肢を消せます。
次に、和Sを確認します。
01と10のときだけ1
→ XOR
→ (A・¬B) + (¬A・B)
この2段階で正解を選べます。
まとめ(試験直前用)
- 半加算器は、2つの1ビットの数を加算する論理回路
- 出力は、和Sと桁上がりCの2つ
- 桁上がりCは、両方が1のときだけ1になるAND
- 和Sは、片方だけが1のとき1になるXOR
C = A・BS = (A・¬B) + (¬A・B)- 下位桁からの桁上がり入力を扱うのは全加算器
半加算器
C = AND
S = XOR
ANDを反転したNANDや、NANDだけで基本ゲートを作る仕組みは、NANDとは?AND・OR・NOTを作れる万能ゲートの仕組みで整理しています。