修了試験 2016-07-24実施分 基本情報技術者試験 問1
負数を2の補数で表すとき,全てのビットが1であるnビットの2進数“1111…11”が表す数値又はその数式はどれか。
正答2
解説
正解は2です。 2の補数表現で、全ビットが1のnビットの数が何を表すかを問う問題です。 2の補数では、符号を反転するには「全ビットを反転して1を加える」操作を行います。 【選択肢別解説】 1:× -(2^(n-1)-1)は、2の補数表現では最上位と最下位だけが1の「100…01」が表す値です。 全ビットが1の数ではありません。 2:○ 「1111…11」の全ビットを反転すると「0000…00」になり、1を加えると「0000…01」すなわち1になります。 したがって元の数は1の符号を反転した-1です。 3:× 0は全ビットが0の「0000…00」で表されます。 2の補数では0の表し方は1通りだけです。 4:× 2^n-1は、「1111…11」を符号なしの2進数として読んだときの値です。 負数を2の補数で表す符号付きの解釈では-1になります。 【ポイント】 nビットの2の補数で表せる範囲は、-2^(n-1)から2^(n-1)-1までです。 全ビットが1なら-1、最上位ビットだけが1なら最小値の-2^(n-1)と覚えておくと便利です。まとめて解く
修了試験 2016-07-24実施分を通しで解く(80問)→