1桁の2進数(1の位)の加算は 0 + 0 = 0、 0 + 1 = 1、 1 + 0 = 1、 1 + 1 = 10 の4通りで、最後の場合だけ上位桁への繰り上がりが生じる。 2数をそれぞれ A、 B、 和を S(Sum)、 繰り上がりを C(Carry)として表にまとめると:
2桁以上(2の位以上)の加算の場合は下位桁からの繰り上り(()内)を考慮しなければならず、 (0) + 0 + 0 = 0、 (0) + 0 + 1 = 1、 (0) + 1 + 0 = 1、 (0) + 1 + 1 = 10、 (1) + 0 + 0 = 1、 (1) + 0 + 1 = 10、 (1) + 1 + 0 = 10、 (1) + 1 + 1 = 11 の8通りとなる。 2数をそれぞれ A、 B、 下位桁からの繰り上り((x))をCin、 和を S、 上位桁への繰り上がりを Coutとして表にまとめると:
半加算器の出力 S(Sum)と C(Carry)をそれぞれ 入力 A、B で表すと:
|
論理式 |
|
全加算器の出力 S と Cin をそれぞれ 入力 A、B、Cout で表すと:
|
論理式 |
論理ゲートで実現すると:
|
・A + B + Cin = (A + B) + Cin と考えて 半加算器を2個使って実現すると:
|