2012年8月14日火曜日

1の補数と2の補修が必要な理由



br /> コンピュータ上で減算の計算をすることは非常に難しい回路です。
ただしプラスルーチンはスィプゴヨ。
だから、マイナスをプラスのように使用するための近道として報酬を使用することです。

一応例を示すために4ビットで例えば説明をさせていただきました。
まず、保守について説明をしますと、
1の補数は0は1に1は0に変換することです。
したがって、図7の1の補数は
7は2進数で0111(4ビットの場合)です。
これの1の補数は1000です。
2の補数は1の補数に1を加えたものです。
1000 + 1 = 1001になりますね。

1の補数1000 2の補数1001の両方-7を表しています。

は10進数でマイナス​​をしてね。
4-2 = 2となります。これをプラス形式に変えてみると
4 +(-2)= 2です。その後、バイナリで表示するために、4と2を表示してみる

4 = 0100
-2
=> 0010(10進数+2)
=> 1101(1の補数。)
=> 1110(2の補数:1の補数+1)

4 +(-2)
=> 0100 + 1110
=> 10010
=> 0010(4ビットであるために1つのビットは切り捨て)
=> 2(10進数に変換)

このような減算を加算で処理できるようにすることです。


その後、2の補数を多く使用する理由は何でしょう?
それは表示されている数の数にあります。
0を1の補数と2の補数で表現すると
0000(4ビットの0)
1111(1の補数0)
10000(2の補数:1の補数+ 1)
0000(2の補数:4ビットで処理するために、前に1ビットを切り捨て)

上の例では
0を表現するのに1の補数は0000、1111の両方0です。 2の補数は0000万0だよ。
このようになった表示できる一バイト(8ビット)ごとに数の大きさは、
1のボスイン場合:-127〜127 => 255個
2のボスイン場合:-128〜127 => 256個
2の補数を取るのでよって1つの数を表示することができるのです。

当然、2の補数がより効率的でしょう。

0 件のコメント:

コメントを投稿