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 である。