修了試験 2020-01-26実施分 基本情報技術者試験 問1
負数を2の補数で表すとき,全てのビットが1であるnビットの2進数“1111…11”が表す数値又はその数式はどれか。
正答2
解説
正解は2です。 2の補数表現で、全ビットが1のnビットの2進数が表す値を問う問題です。 2の補数では、ある数に1を足して全ビットが0(桁あふれを無視)になる数が、その数の負の値です。 【選択肢別解説】 1:× -(2^(n-1)-1)は、符号と絶対値で表した場合に全ビット1が表す値です。 2の補数では、最上位以外のビットを絶対値とは読みません。 2:○ “11…11”に1を加えると、全ビットが0になり最上位から桁あふれします。 nビットの範囲では0になるので、“11…11”は0より1小さい-1を表します。 3:× 0は全ビットが0の“00…00”で表します。 全ビット1を0と読むのは、1の補数表現で-0とみなす場合です。 4:× 2^n-1は、符号なし2進数とみなした場合の値です。 負数を2の補数で表す約束では、最上位ビットが1なので負の数になります。 【ポイント】 2の補数で-1は常に全ビット1です。 例えば8ビットなら11111111が-1、10000000が最小値の-128です。まとめて解く
修了試験 2020-01-26実施分を通しで解く(80問)→