修了試験 2012-01-22実施分 基本情報技術者試験 問3
負数を2の補数で表現する固定小数点表示法において,nビットで表現できる整数の範囲はどれか。 ここで,小数点の位置は最下位ビットの右とする。
正答3
解説
正解は3です。 2の補数表現では、最上位ビットが符号を表し、0なら0以上、1なら負の数になります。 nビットで表せるビットパターンは2^n通りで、その半分が負の数、残り半分が0と正の数に割り当てられます。 【計算】 負の数の個数は2^n÷2=2^(n-1)個なので、最小値は-2^(n-1)です。 0と正の数も2^(n-1)個ですが、0が1個分を使うので、最大値は2^(n-1)-1です。 例えばn=8なら、範囲は-128〜127になります。 【選択肢別解説】 1:× 最小値を-2^nとしていますが、nビットで表せる最小値は-2^(n-1)です。 範囲が広すぎます。 2:× 最小値は-2^(n-1)-1ではなく-2^(n-1)です。 最大値も2^(n-1)ではなく2^(n-1)-1です。 3:○ 負側に2^(n-1)個、0と正側に2^(n-1)個を割り当てるので、-2^(n-1)〜2^(n-1)-1となります。 4:× 最大値を2^(n-1)としていますが、0が1個分を使うため最大値は2^(n-1)-1です。 【ポイント】 2の補数は負の方が1つ多く表現できる非対称な範囲になります。 1の補数や符号と絶対値表現では「+0と-0」が生じ、範囲は-(2^(n-1)-1)〜2^(n-1)-1になる点と区別しましょう。まとめて解く
修了試験 2012-01-22実施分を通しで解く(80問)→