質問: 8桁の2進数(1バイト)であらわす数字の範囲は-128~127ということです。 その説明として、111111111が最小で、01111111が最大であり、左端のビットが正負を表すので絶対値として意味のあるのは残りの7bitの1111111すなわち127とのことです。そしたら、-127から127のはずです。さらに1を引く(絶対値に1を足し負の数とする)と10000000となりこれが最小を意味し、2^8=128で左端が1なので負になる、と言う風に読める説明があります。 この説明が腑に落ちないのですが。問題は左端の8bit目が数値1とみたり、正負とみたりしているようです。あるいは同時にどっちもの意味になっているようです。このような説明でもいいのでしょうか。説明というよりそういう取り決めということになるのでしょうか。
回答: 最小は11111111ではなく10000000です。 11111111は10進数で-1です。 符号付きの場合、先頭ビットは正負を表しますが、残りの7ビットは0000000が最小値で1111111が最大値です。つまり負の数は10000000~11111111で-128~-1を表し、正の数は00000000~01111111で0~127を表します。 色々と勘違いがありそうなので、もう一度勉強し直したほうが良いと思います。