記憶庫

自分用のメモです。

2の補数

コンピュータの内部では、負の整数値を表現するために「2の補数」と呼ばれる方法を用いることが多い。


数値を8ビットで表現する環境では、2進数は

1 ⇒ 00000001
8 ⇒ 00001000
127 ⇒ 01111111

と表現される。
では、負の数は2進数表記でどのように表記されるのかというと

-1 ⇒ 11111111
-8 ⇒ 11111000
-127 ⇒ 10000001

である。
求め方は、絶対値の2進数表記のビットを反転させてから1を加算すればよい。


試しに -8 を2進数化してみると・・・。

1.
-8 の絶対値 8 の2進数表記を算出。

8 ⇒ 00001000

2.
1.で算出した値のビットを反転。

00001000 ⇒ 11110111

※反転させただけの値を「1の補数」という。

3.
2.で算出した値に1を加算。

11110111 + 1 ⇒ 11111000

よって、-8 の2進数表記は 11111000 である。