コンピュータの2進数を見ていると、 11111111 という値が「255」と書かれていることもあれば、「-1」と書かれていることもあります。 同じビット列なのに、なぜ値が変わるのでしょうか。 その理由は、符号なし整数として読むか、2の補数を使った符号付き整数として読むかの違いにあります。 今回は、8ビットを例に2の補数の考え方を整理します。 11111111を符号なし整数として読む場合 8ビットの 11111111 を通常の2進数として計算すると、 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 となるため、 255 です。 つまり符号なし8ビット整数では、 000000…