2 の補数では、0 ~ 127 は 00000000 ~ 01111111 として表されます。負の数の場合、符号なし表現のすべてのビットを反転し、1 を加算して 2 の補数を取得します。
(参照: http://en.wikipedia.org/wiki/Signed_number_representations#Two.27s_complement )
したがって、2 の補数の -1 は次のようになります。
符号なし 1 = 00000001 すべてのビットを反転 = 11111110 1 を追加 = 11111111
ただし、-128 の場合、同じ手順に従うと、次のようになります。
符号なし 128 = 10000000 すべてのビットを反転 = 01111111 1を追加= 10000000
-128 と 128 は 2 の補数表記で同じ表現をしていますか? 8 ビットの 2 の補数の範囲が -127 ~ 128 ではないのはなぜですか? 要するに、同じビット数を使用して符号なし 128 を表すよりも -128 が好まれるのはなぜですか?