2進数のマイナス

4ビットの時10進数と2進数の対応はこんな感じになります。

10進数 2進数
0 0000
1 0001
2 0010
3 0011
4 0100

0と1しか扱えない時のマイナスの表現

紙に書くときは「-4」を「-0100」と書いてもいいのですが、コンピューターの世界では0と1しか扱えません。ではコンピューターは「-4」を扱えないかというとそんなことはありません。
昔のすごい人たちがちゃんと考えてくれているんです。

ではどうやって表現されるかというと、一番上の位のビットで決められます。具体例から言うと「-4」は「1100」になります。

一番上の位が1だとマイナス

マイナスを扱う、かつ01しか使えない時はこのようにして表現します。

10進数 2進数
-4 1100
-3 1101
-2 1110
-1 1111
0 0000
1 0001
2 0010
3 0011
4 0100

足し合わせると0

「-1」と「1」を足すと0になりますよね。
「1111」と「0001」を足すと「0000」になりますね。すごーい。
それ以外の数に対しても試してみてください。

マイナスの2進数の求め方

2進数の場合マイナスの求め方はすごい簡単です。
「4」を例にとって求めてみましょう。
まず「4」を2進数にします。
「0100」

次に各桁の0と1を入れ替えます。
「1011」

最後に1を足します。
「1100」
完成!

0と1を入れ替えたもの同士を足すと全部の位が1になりますね。
0100 + 1011 = 1111

これでは0まで1少ないので、入れ替えた側の数に1を足してあげれば
0100 + (1011 + 0001) = 0000
4 + -4 = 0
の完成です。

コメントを残す

%d人のブロガーが「いいね」をつけました。