2 進数 には数字は 0 と 1 だけしかありませんから、
2 進数の加算も下表の 4 種類しかありません。
A と B は加算する二つの 2進数、 S はその和で、
C は加算の結果生じた桁上げ
(carry) です。
10 進数のようにたくさん
(10 個も!) 数字がないので計算は簡単ですが、
1 たす 1 は 2 という計算でも、 2 進数には 「 2 」 がないので慣れるまでは戸惑います。
10 進数の 1 + 1 = 2 は、 2進数では 1 + 1 = 10 となります。
2進数の ‘10’ は 10進数の ‘2’ なので、 辻褄は合っています。
A | | B | | C | S
|
---|
0 | + | 0 | = | 0 | 0
|
0 | + | 1 | = | 0 | 1
|
1 | + | 0 | = | 0 | 1
|
1 | + | 1 | = | 1 | 0
|
しかし、 本格的な加算には、 実はこれでは足りません。
10進数の場合、 たとえば
7 +
3 =
10 ですが、
2 桁の加算だと
75 +
38 =
113 になったりします。
いうまでもなく、下位の加算、5 + 8 = 13 で生じた桁上げ
(carry) の 1 を加えるからですが、
2 進数の場合も下位の桁の加算で桁上げ
(carry) が生じると、
これを加えなくてはなりません。
同じ 1 + 1 でも、 下のようなことが起こります。
従って下表のように、桁上げがない場合とある場合で、全部で 8 つのケースがあります。
(下表で、 Cn-1 は下位の桁の計算で生じた桁上げ、
Cn は現在の桁の計算によって生じる桁上げです。)
Cn-1 | | A | | B | | Cn | S
|
---|
0 | + | 0 | + | 0 | = | 0 | 0
|
0 | + | 0 | + | 1 | = | 0 | 1
|
0 | + | 1 | + | 0 | = | 0 | 1
|
0 | + | 1 | + | 1 | = | 1 | 0
|
1 | + | 0 | + | 0 | = | 0 | 1
|
1 | + | 0 | + | 1 | = | 1 | 0
|
1 | + | 1 | + | 0 | = | 1 | 0
|
1 | + | 1 | + | 1 | = | 1 | 1
|
下図には 8 桁の 2 進数、 A, B が表示されています。
最下位の桁が赤く表示されていますが、 これからこれを加算しようとしています。
これをを実行すると、 右の表で赤く表示されている行の通りになるはずです…。
右下の
ボタンをクリックして下さい。
一桁分の計算が実行されて、
和が S の行に表示されます。
加算の結果桁上げ (Carry) が発生すると、
C の行にキャリー (1) が表示されます。
次の桁はこのキャリーを含めて加算されます。
ボタンで、一桁ずつ戻ることができます。
ボタンで最初の状態に戻ります。
テキストフィールド A、 B に数値を入力すると、任意の値 (1 〜 255) の加算ができます。
2進数でも 10進数でも入力できます。
チェックボックス BIN、 DEC で選択して下さい。