2の補数
絶対値が同じ正の数のbitを反転して、1を足す
例 -52(8bit)
52 = 00110100
ビットを反転 11001011
1を足す 11001100
これを52と足してみる
00110100 + 11001100 = 100000000
反転して足した答えを考えると理解できる
xビットで符号付き整数を表現する環境で、正の整数Nのビット列と-Nのビット列をたすと$ 2^xとなる。(これが本来の2の補数の定義)
性質
ビット列の足し算で加減算ができる
77+39 = 116
77-39 = 77 + (-39) = 38
77-100 = 77 + (-100) = -23
-77 - 39 = -77 + (-39) = -116→これは知らなかった
関連: