修了試験 2013-07-28実施分 基本情報技術者試験 問1
負数を2の補数で表すとき,全てのビットが1であるnビットの2進数"1111…11"が表す数値又はその数式はどれか。
正答2
解説
正解は2です。 2の補数表現で、全ビットが1のビット列がどの値を表すかを問う問題です。 nビットの2の補数表現では、最上位ビットの重みが-2^(n-1)、それ以外のビットの重みは通常の正の値になります。 【計算】 最上位ビットの重みは-2^(n-1)です。 残りn-1ビットがすべて1なので、その合計は2^(n-1)-1です。 全体の値は-2^(n-1)+(2^(n-1)-1)=-1です。 【選択肢別解説】 1:× -(2^(n-1)-1)は、符号と絶対値表現で全ビットが1のときの値です。 2の補数表現ではこの値になりません。 2:○ 上の計算のとおり、全ビットが1のビット列は桁数nにかかわらず-1を表します。 0から1を引くと、桁借りが最上位まで伝わって全ビットが1になることからも確認できます。 3:× 0を表すのは全ビットが0のビット列です。 2の補数表現では0の表し方は一つだけです。 4:× 2^n-1は、全ビットが1のビット列を符号なし2進数として読んだときの値です。 負数を扱う2の補数表現の読み方ではありません。 【ポイント】 2の補数表現では、全ビット1が-1、最上位だけ1で残りが0のビット列が最小値-2^(n-1)です。 1の補数表現では全ビット1が-0になる点と区別して覚えましょう。まとめて解く
修了試験 2013-07-28実施分を通しで解く(80問)→