負の整数を2の補数で表現するとき,8桁の2進数で表現できる数値の範囲を10進数で表したものはどれか。
- ア-256~255
- イ-255~256
- ウ-128~127
- エ-127~128
正解と解説を見る
正解
ウ -128~127
8桁(8ビット)の2進数で表現できるパターン数は2の8乗=256通りであり、2の補数表現ではこれを正の数と負の数にほぼ均等に配分する。最上位ビットが符号を表すため、正の範囲は0〜127(2の7乗-1)、負の範囲は-128(-2の7乗)〜-1となり、合わせて-128〜127が正解となる。「-256〜255」は256を超える範囲で9ビット相当になってしまい誤り、「-255〜256」も範囲が広すぎるうえ正負の境界がおかしく誤り、「-127〜128」は正負の限界値が2の補数の非対称性(負の方が1つ多く表現できる)と逆になっているため誤りである。