修了試験 2023-12-10実施分 基本情報技術者試験 問1
負数を2の補数で表すとき,8ビットで表現できる整数の範囲は10進数でどれか。
正答4
解説
正解は4です。 2の補数表現では、最上位ビットが符号ビットの役割を果たします。 nビットで表せる範囲は、-2^(n-1)から2^(n-1)-1までです。 【計算】 正の最大値は01111111で、2^7-1=127です。 負の最小値は10000000で、-2^7=-128です。 したがって範囲は-128~127です。 【選択肢別解説】 1:× 0~255は、8ビットを符号なし整数として扱ったときの範囲です。 負数を表す2の補数表現の範囲ではありません。 2:× -127~127は、符号と絶対値表現や1の補数表現の範囲です。 これらは0の表現が2通りあるため、負側が1つ少なくなります。 3:× 正の最大値は128ではなく127です。 最上位ビットが0の範囲で表せる最大値は01111111です。 4:○ 2の補数では0の表現が00000000の1通りだけです。 そのため負側が1つ多く、-128~127の256通りを表せます。 【ポイント】 nビットの2の補数は「負側が1つ多い」と覚えます。 16ビットなら-32,768~32,767になります。まとめて解く
修了試験 2023-12-10実施分を通しで解く(60問)→