修了試験 2015-01-25実施分 基本情報技術者試験 問3
負数を2の補数で表すとき,8ビットで表現できる整数の範囲は10進数でどれか。
正答4
解説
正解は4です。 2の補数表現では、最上位ビットが1のとき負の数を表します。 nビットで表せる範囲は、-2^(n-1)から2^(n-1)-1までです。 【計算】 8ビットなので、n=8を代入します。 最小値は-2^7=-128で、ビット列は10000000です。 最大値は2^7-1=127で、ビット列は01111111です。 したがって、範囲は-128~127です。 【選択肢別解説】 1:× 0~255は、符号なし8ビット整数の範囲です。 負数を表さない場合の範囲なので誤りです。 2:× -127~127は、符号と絶対値表現や1の補数表現の範囲です。 これらは0が二通りあるため、表せる数が一つ少なくなります。 3:× 正の最大値は01111111の127です。 128は8ビットの2の補数では表せません。 4:○ 2の補数では0の表現が00000000の一通りだけなので、負の側に一つ多く数を表せます。 そのため範囲は-128~127です。 【ポイント】 2の補数は負の側が1つ多いと覚えておくと、範囲の問題を素早く解けます。 16ビットなら-32768~32767になります。まとめて解く
修了試験 2015-01-25実施分を通しで解く(80問)→