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