半加算器は、2つの1ビットを加算するための基本的な論理回路です。
回路図ではXORゲートとANDゲートを組み合わせ、和と桁上がりを同時に取り出します。
デジタル回路、コンピュータの演算回路、PLC制御、電子工作を学ぶ際には、半加算器の仕組みを回路図と真理値表で結び付けて理解することが重要です。
本記事では、半加算器の論理回路図の書き方、ゲート記号の読み方、数式での表し方、全加算器との違いまで順に解説します。
半加算器の回路図と出力の関係

それではまず半加算器の回路図と出力の関係について解説していきます。
入力と出力の基本構成
半加算器には、通常AとBと呼ばれる2つの入力があります。
それぞれの入力は0または1を取り、2進数の1桁として扱います。
出力は2つあり、加算結果の下位桁を表すSと、桁上がりを表すCです。
SはSumの頭文字で、和を意味します。
CはCarryの頭文字で、繰り上がりを意味します。
たとえばAが0、Bが1の場合、2進数の加算は0+1=1となるため、Sは1、Cは0です。
AとBがどちらも1の場合は、1+1=10となります。
このとき下位桁は0なのでSは0となり、上位桁へ送る桁上がりとしてCが1になります。
半加算器は、和Sと桁上がりCを別々の信号として出力する回路と考えると理解しやすいでしょう。
AとBを加算した結果は、下位桁をS、上位桁への繰り上がりをCとして扱います。
0+0=0ではSが0、Cが0です。
0+1または1+0=1ではSが1、Cが0です。
1+1=10ではSが0、Cが1になります。
回路図におけるXORゲートとANDゲート
半加算器の回路図では、入力Aと入力Bを2つの論理ゲートへ並列に接続します。
一方はXORゲートへ接続し、その出力をSとします。
もう一方はANDゲートへ接続し、その出力をCとします。
XORゲートは、2つの入力が異なるときだけ1を出力する論理ゲートです。
そのため、AとBの片方だけが1のときに和Sが1になります。
ANDゲートは、2つの入力がどちらも1のときにだけ1を出力します。
これは、加算で桁上がりが発生する条件と一致します。
つまり、XORゲートが和を作り、ANDゲートが桁上がりを作ることが半加算器の要点です。
| 回路要素 | 入力条件 | 出力が1になる条件 | 半加算器での役割 |
|---|---|---|---|
| XORゲート | AとB | AとBが異なる場合 | 和Sの出力 |
| ANDゲート | AとB | AとBが両方1の場合 | 桁上がりCの出力 |
| 入力端子 | 0または1 | 外部信号に応じる | 加算するビットの入力 |
| 出力端子 | SとC | ゲート演算結果に応じる | 次段回路や表示回路への出力 |
真理値表で確認する演算結果
回路図の動作を確かめるには、真理値表を使う方法が便利です。
真理値表は、入力のすべての組み合わせと、それぞれに対応する出力を一覧にした表です。
2入力の半加算器では、入力の組み合わせは4通りになります。
AとBが両方0なら、和も桁上がりも発生しません。
どちらか一方だけが1なら、和は1で桁上がりは0です。
両方が1なら、和は0となり桁上がりが1になります。
| A | B | S | C | 2進数の計算 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0+0=0 |
| 0 | 1 | 1 | 0 | 0+1=1 |
| 1 | 0 | 1 | 0 | 1+0=1 |
| 1 | 1 | 0 | 1 | 1+1=10 |
この表を見ると、Sの列はXOR演算の結果と同じであることが分かります。
Cの列はAND演算の結果と同じです。
回路図を暗記するより、真理値表の各行をたどってゲート出力を確認するほうが、論理回路への理解は深まります。
半加算器の回路図の書き方
続いては半加算器の回路図の書き方を確認していきます。
入力線と信号名の配置
半加算器の回路図は、左から右へ信号が流れる形で描くと見やすくなります。
まず左側に入力Aと入力Bを配置します。
入力名は、線の近くまたは入力端子の左側に記載します。
次に、AとBの信号線を右方向へ伸ばします。
2本の信号線は、XORゲートとANDゲートの両方へ分岐させます。
回路図では、線が接続していることを明確に示す必要があります。
分岐点に黒丸を付ける表現を使う場合は、交差しているだけの線と区別できるように描くことが大切です。
入力信号の表記はA、B以外でも構いませんが、学習用の回路図では一般的な記号にそろえると読み手に伝わりやすくなります。
回路図では、信号線が単に交差しているのか、電気的に接続されているのかを区別しましょう。
接続点が曖昧だと、正しい論理式でも回路図として誤読される可能性があります。
XORゲートとANDゲートの接続手順
次に、AとBの2本の入力をXORゲートの入力端子へ接続します。
XORゲートの出力側から右へ線を引き、出力名としてSを付けます。
同じAとBをANDゲートの入力端子にも接続します。
ANDゲートの出力側から右へ線を引き、出力名としてCを付ければ基本形は完成です。
ゲートを上下に並べる場合は、XORゲートを上側、ANDゲートを下側に置くと、和と桁上がりを見分けやすくなります。
逆の配置でも論理的な動作は変わりません。
ただし、SとCの信号名を取り違えると半加算器として正しく機能しないため注意が必要です。
XORゲートの出力がS、ANDゲートの出力がCという対応を、回路図に明示しておきましょう。
半加算器の作図手順は次の流れです。
左側にAとBを置き、2本の線をXORゲートとANDゲートへ分岐させます。
XORゲートの右側をS、ANDゲートの右側をCとして出力します。
手書き回路図で起こりやすいミス
手書きの論理回路図では、ゲート記号の描き間違いがよく起こります。
ORゲートとXORゲートは形が似ていますが、XORゲートには入力側にもう1本の曲線があります。
この追加の曲線がないとORゲートに見えてしまい、半加算器の和を正しく表せません。
また、出力線の名前を書き忘れると、どちらがSでどちらがCなのか判別できなくなります。
入力線をANDゲートだけに接続してXORゲートへの配線を省略するミスも見られます。
2つのゲートは同じ入力A、Bを受け取るため、両方への配線が必要です。
回路図を書き終えたら、真理値表の4通りを使って出力を点検すると安心です。
とくにAとBがともに1のとき、Sが0、Cが1になるかを確認しましょう。
論理ゲートの記号と見方
続いては論理ゲートの記号と見方を確認していきます。
XORゲートの記号と排他的論理和
XORはExclusive ORの略で、日本語では排他的論理和と呼ばれます。
OR演算では、少なくとも片方が1なら出力は1です。
一方のXOR演算では、入力が異なる場合だけ出力が1になります。
両方が0なら0、片方だけが1なら1、両方が1なら0という動作です。
半加算器では、1+1のときに下位桁が0になる必要があります。
この条件を満たせるため、和SにはORゲートではなくXORゲートを使用します。
XORは同じ値なら0、異なる値なら1を出力する比較のような働きを持ちます。
デジタル回路では加算器のほか、ビット反転の制御、パリティチェック、比較回路などにも用いられます。
| A | B | OR | XOR | 違い |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | どちらも0 |
| 0 | 1 | 1 | 1 | どちらも片方が1 |
| 1 | 0 | 1 | 1 | どちらも片方が1 |
| 1 | 1 | 1 | 0 | 両方1で結果が異なる |
ANDゲートの記号と桁上がり条件
ANDゲートは、すべての入力が1のときにだけ出力を1にする論理ゲートです。
2入力ANDゲートであれば、Aが1かつBが1の場合だけ結果は1になります。
半加算器の桁上がりCは、まさにこの条件で発生します。
2進数の1桁同士の足し算では、1+1だけが桁上がりを生むからです。
ANDゲートの回路記号は、左側が平らで右側が丸みを持つ形として描かれることが一般的です。
入力端子は左側、出力端子は右側に配置されます。
回路図の見方としては、入力条件を追いながら、出力が1になる組み合わせを確認すると分かりやすいでしょう。
桁上がりCは、AとBがともに1のときだけ有効になる信号です。
否定記号を含む論理記号の注意点
基本的な半加算器にはNOTゲートを使いません。
ただし、XORゲートをAND、OR、NOTゲートの組み合わせで作る場合は、否定記号が登場します。
NOTゲートは入力を反転するゲートで、0を1へ、1を0へ変換します。
回路記号では、出力側に小さな丸印が付いた形で否定を示すことがあります。
ANDゲートやORゲートの端子に丸印が付いている場合も、その端子が反転入力または反転出力であることを意味します。
丸印の有無を見落とすと、論理式と動作が大きく変わります。
記号を読む際は、ゲートの種類だけでなく、入力端子と出力端子に丸印があるかも確認してください。
半加算器の標準回路を読む段階では、まずXORとANDの2種類を確実に識別できれば十分です。
半加算器の論理式と真理値表
続いては半加算器の論理式と真理値表を確認していきます。
和Sを表す論理式
半加算器における和Sの論理式は、S=A XOR Bと表せます。
XOR記号を使わずに表すなら、S=Aの否定とBのAND、またはAとBの否定のANDをORで結んだ式になります。
文章で表すと、Aが0でBが1の場合、またはAが1でBが0の場合にSが1です。
ブール代数では、S=A′B+AB′という形で書かれます。
ここでA′はAの否定を示し、ABはAとBのAND、+はORを表します。
記号の意味を分解すると、XORが複数の基本ゲートから構成できることも理解できます。
ただし、回路図を簡潔にする目的では、通常はXORゲート記号をそのまま使用します。
和Sの代表的な表し方はS=A XOR Bです。
基本ゲートだけで表す場合はS=A′B+AB′となります。
片方だけが1のときにSが1になる点が式からも読み取れます。
桁上がりCを表す論理式
桁上がりCの論理式は、C=ABです。
これはA AND Bとも表記されます。
AとBが1である条件が同時に成立したときだけ、Cは1です。
半加算器の論理式の中では、Cの式は比較的理解しやすい部分でしょう。
入力が0を含む限り、AND演算の出力は0になります。
したがって、0+0、0+1、1+0のときは桁上がりがありません。
1+1のときだけCが1になり、次の桁へ加算結果を渡します。
C=ABという短い式は、桁上がりの発生条件をそのまま表現したものです。
半加算器の出力式は、S=A XOR B、C=ABです。
この2つの式を覚えると、回路図、真理値表、2進数の筆算を相互に確認しやすくなります。
真理値表から論理式を導く考え方
真理値表から論理式を作るときは、まず出力が1になる行に注目します。
Sが1となるのは、Aが0でBが1の行と、Aが1でBが0の行です。
前者はA′B、後者はAB′と表せます。
どちらかの条件が成立すればよいため、2つをORで結んでA′B+AB′となります。
Cが1となる行は、Aが1でBが1の1行だけです。
そのため、そのままABという式になります。
この考え方は、半加算器だけでなく、任意の組み合わせ論理回路を設計する際にも役立ちます。
入力数が増えると表は大きくなりますが、出力が1となる条件を拾い上げて式にするという基本手順は変わりません。
半加算器と全加算器の違い
続いては半加算器と全加算器の違いを確認していきます。
桁上がり入力の有無
半加算器と全加算器の最も大きな違いは、桁上がり入力を受け取れるかどうかです。
半加算器の入力はAとBの2つだけです。
一方、全加算器にはA、Bに加えて、前の桁から来る桁上がり入力Cinがあります。
全加算器は3つの1ビットを加算し、和Sと桁上がり出力Coutを作ります。
複数桁の2進数を加算する場合、下位桁で発生した桁上がりを上位桁へ渡す必要があります。
この処理を行えるため、実用的な多桁加算回路では全加算器が使われます。
半加算器は、最下位桁のように前段からの桁上がりが存在しない場所で利用できます。
| 項目 | 半加算器 | 全加算器 |
|---|---|---|
| 入力数 | 2入力 | 3入力 |
| 入力信号 | A、B | A、B、Cin |
| 出力信号 | S、C | S、Cout |
| 前桁の桁上がり | 扱えない | 扱える |
| 主な用途 | 基本学習、最下位桁 | 多桁加算、演算回路 |
半加算器2個から全加算器を作る構成
全加算器は、半加算器を2個使って構成できます。
最初の半加算器でAとBを加算し、中間的な和と桁上がりを作ります。
次の半加算器では、最初の和とCinを加算します。
この2つ目の半加算器が出す和が、全加算器の最終的なSになります。
一方、2つの半加算器で発生した桁上がりはORゲートでまとめます。
このORゲートの出力がCoutです。
この構成を見ると、半加算器がより複雑な算術回路の部品になっていることが分かります。
全加算器は、半加算器の加算結果に前桁からの桁上がりを加えた回路と捉えると整理しやすいでしょう。
全加算器では、AとBだけでなくCinも加算対象になります。
そのため、半加算器だけでは多桁演算に必要なすべての桁上がり処理を完結できません。
多桁加算回路への応用
4ビットや8ビットなどの2進数を加算する回路では、各桁に加算器を並べます。
最下位桁は前の桁から桁上がりを受け取らないため、半加算器で構成できる場合があります。
その上の桁からは、前段の桁上がりを受け取る必要があるため、全加算器を使用します。
各全加算器のCoutは、次の桁のCinへ接続されます。
このように桁上がりが順番に伝わる方式は、リップルキャリー加算器と呼ばれます。
構成が分かりやすい一方で、桁数が増えると桁上がりの伝達に時間がかかる場合があります。
高速な演算回路では、桁上がりを先読みする方式なども利用されます。
それでも、半加算器のXORとANDによる基本動作は、加算回路を理解する出発点になります。
半加算器を学ぶ際の確認ポイント
続いては半加算器を学ぶ際の確認ポイントを確認していきます。
2進数の筆算との対応
半加算器を理解するには、2進数の筆算と回路の出力を並べて見る方法が効果的です。
10進数では1+1=2ですが、2進数では2を10と表します。
このため、1+1の結果は下位桁が0、次の桁へ渡す値が1です。
半加算器のSが0、Cが1になる動作は、この筆算を電子回路で実現したものです。
0+1や1+0でSだけが1になることも、通常の加算と同じ感覚で確認できます。
回路記号が難しく感じられる場合は、まず4通りの筆算を書き、その結果をSとCに分けてみましょう。
Sは現在の桁に残る値、Cは次の桁へ渡す値として考えると、役割を混同しにくくなります。
シミュレーターとブレッドボードでの検証
論理回路シミュレーターを使うと、入力スイッチを切り替えながら半加算器の動作を確認できます。
AとBに0または1を与え、SとCに接続したLEDの点灯状態を観察すると直感的です。
実際にブレッドボードで組む場合は、XOR機能を持つロジックICとAND機能を持つロジックICを用意します。
ICの電源端子、GND端子、未使用入力端子の扱いにも注意が必要です。
未接続の入力端子は状態が不安定になり、想定外の出力を生むことがあります。
出力LEDを直接接続する構成では、抵抗を使って電流を適切に制限します。
学習用の実験では、まず真理値表どおりに4通りの入力でLED表示が変わるかを確認しましょう。
実機での確認では、AとBを00、01、10、11の順に切り替えます。
Sは0、1、1、0の順に変化し、Cは0、0、0、1の順に変化すれば正常です。
期待と異なる場合は、配線、電源、ICの向き、出力名を順番に見直します。
試験問題での読み取り手順
試験問題では、半加算器の空欄に入るゲート名や出力値を問われることがあります。
問題を解く際は、最初に出力が和なのか桁上がりなのかを確認します。
和を求める出力ならXORゲート、桁上がりを求める出力ならANDゲートを疑いましょう。
次に、入力が1と1のときの出力を確認します。
そのとき出力が0ならXORの可能性が高く、1ならANDの可能性が高いと判断できます。
回路図の一部にNOTゲートがある場合は、入力の反転後にどの条件で1になるかを追います。
複雑な図でも、各ゲートの出力を途中信号として順番に書き出せば整理できます。
いきなり最終出力を考えず、左側のゲートから1段ずつ追跡することが確実な解法につながります。
まとめ
半加算器は、2つの1ビットを加算し、和Sと桁上がりCを出力する基本的な論理回路です。
回路図では、入力AとBをXORゲートとANDゲートへそれぞれ接続します。
XORゲートの出力が和S、ANDゲートの出力が桁上がりCになります。
真理値表では、入力が異なるときにSが1となり、両方が1のときだけCが1です。
S=A XOR B、C=ABという論理式を押さえると、回路図と2進数の加算結果を結び付けて理解できます。
また、半加算器は全加算器や多桁加算回路の基礎でもあります。
回路図を書くときは、XOR記号とOR記号を混同しないこと、入力線を両方のゲートへ接続すること、SとCを正しく表示することが大切です。
まずは真理値表の4通りを確認しながら、半加算器の回路図を自分で描いてみるとよいでしょう。