戻る 2進数の加算  (binary addition)


2進数 は 0 と 1 だけで表される数字ですから、 2進数の加減算も、 0 と 1 だけで計算します。

10進数のようにいろんな数字がないので計算は単純ですが、 1 + 1 = 2 という簡単な計算をするときも、 2 進数には 「 2 」 がないので、 慣れるまでは 戸惑います。

2 進数の加算は、すべての加算のケースを列挙しても、 下表のように 4 種類しかありません。
A と B は加算する二つの 2進数、 S はその和で、 C は加算の結果生じた桁上げ (carry) です。

2進数に '2' はありませんから、 先の 1 + 1 = 2 は、 2進数では桁上げも含めて書けば、 1 + 1 = 10 となります。 2進数の '10' は 10進数の '2' なので、 辻褄は合っています。

A   B   C S
0000
0101
1001
1110




しかし、 本格的な加算をするには、 これでは十分ではありません。

10進数の加算でも、 例えば 7 + 3 = 10 ですが、 同じ 7 + 3 でも 2 桁の加算では、 7 5 + 3 8 = 11 3 となります。
いうまでもなく、下位の加算、5 + 8 = 13 で生じた桁上げ (carry) の 1 を加えるからです。

2 進数の場合も同じで、 下位の桁の加算で桁上げ (carry) が生じると、 これを加えなくてはなりません。

従って下表のように、桁上げがない場合とある場合で、全部で 8 つのケースがあります。
(下表で、 Cn-1 は下位の桁の計算で生じた桁上げ、 Cn は現在の桁の計算によって生じる桁上げです。)

Cn-1   A   B   Cn S
00000
00101
01001
01110
10001
10110
11010
11111




下図には 8 桁の 2 進数、 A, B が表示されています。 最下位の桁が赤く表示されていますが、 いまこの加算を実行すると、 結果は右の 2 進数の加算規則の、赤く表示されている行の通りになります。

右下の ボタンをクリックして下さい。
一桁分の計算が実行されて、 和が S の行に表示されます。
加算の結果桁上げ (Carry) が発生すると、 C の行にキャリー(1)が表示されます。 次の桁はキャリーも含めて加算されます。




ボタンで、一桁ずつ戻ることができます。
ボタンで最初の状態に戻ります。
テキストフィールド A、 B に数値を入力すると、任意の値 (1 〜 255) の加算ができます。
2進数でも 10進数でも入力できます。 チェックボックス BIN、 DEC で選択して下さい。


情報処理概論 に戻る   講義資料 に戻る   戻る

Java applet 圧縮アーカイブファイル    自由利用マーク
update: 2007.07.15  address