2の補数

Last-modified: Tue, 16 Feb 2021 04:22:12 JST (1162d)
Top > 2の補数

スマホ版が見づらい場合はPC版をお試しください

2の補数の需要

コンピュータ上では数値を2進数で処理していることが多い。正の整数の加算のみを扱う場合は単に二進数にすればよいが、負の整数や引き算を扱うには処理が楽な形式を決めておく必要があり、その代表例が2の補数である。

2の補数

2の補数は正の数の2ビット表記を反転させて1を足す操作をすることで、負の数を表現する方法である。例えば
\( 5_{10} = 0101_{2} \)
をビット反転させ
\( 0101_2 \)
更に1を加える
\( 1011_2 \)

2の補数と計算

5 + (-5)を考えてみると、

 0101
+1011
-----
10000

一番上の桁を桁あふれとして削除すると、0000となるため、普通に加算するだけで、5 + (-5)を実現できる。
つまり、『2の補数で負の数を表現すると、引き算が足し算に化ける』というメリットがある。