戻る 2進数の加算と減算


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 ですが、 同じ計算でも 2 桁の加算では、 75 + 38 = 113 となることがあります。 いうまでもなく、下位の加算、5 + 8 = 13 で生じた桁上げ (carry) の 1 を加えたためです。

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

2 進数の加算は、桁上げがない場合とある場合を考慮すれば、下表のように、 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)が表示されます。 次の桁はキャリーも含めて加算されます。



ADD/SUB ボタンや 1's COM.,   2's COM. ボタンを使用すると、 減算や2の補数による減算もできます。
ボ タ ン の 機 能

DECA (augend)Text FieldADD/SUB 1's COM.2's COM.
10進数で数値を入力します。 入力された加数(または減数)を読みとります。 ここに加数(または減数)を入力します。 加算/減算を切り換えます。 加数を1の補数に変換します。 加数を2の補数に変換します。
BINB (addend)Text FieldCLEAR BACKOPERATION
2進数で数値を入力します。 入力された被加数(または被減数)を読みとります。 ここに被加数(または被減数)を入力します。 演算ステップを0にします。 演算する桁を一桁もどします。 一桁づつ演算を実行します。

説 明

  1. OPERATION をクリックすると、1桁づつ演算が実行されます。
  2. 次に演算が実行される桁と対応する真理値表の行が赤で表示されます。
  3. 加算の結果、キャリーが発生すると、やや小さい数字で "1" が表示されます。
  4. OPERATION をクリックする度に、現在までの演算結果が10進数に変換されて 青色で表示されます。
  5. A (augend) または B (addend) に 0〜255 までの任意の数値を入力することが出来ます。
  6. 同じ条件でもう一度実行したいときは CLEAR をクリックすれば初期化されます。
  7. ADD/SUB をクリックすると加算/減算が切り替わります。
  8. 減算のモードでは−の符号と減算の真理値表が表示されます。 borrow が発生すると被減数の表示が変わってしまうので、 被減数の初期値が灰色で表示されます。 OPERATION をクリックすると、加算の場合と同じように一桁づつ減算されます。
  9. 2の補数による減算は 2's COM. をクリックすると、減数が2の補数に変わります。 +の符号の縦棒が青色に変わります。
  10. 1's COM. をクリックし、次に 2's COM. をクリックすると、まず1の補数が表示され、 次に2の補数が表示されます。
  11. 1's COM.,   2's COM. を続けてクリックすると元の数値に戻ります。
  12. ADD/SUB,   1's COM.,   2's COM. ボタンは演算中は無効です。
  13. BACK をクリックすると1桁前の状態に戻ります。
  14. DEC, BIN のチェックボックスをクリックすると、 10進数または 2進数で数値が入力できるようになります。


情報処理概論 に戻る   目次 に戻る   戻る

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