離散数学(全108問中57問目)

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
負数を2の補数で表すとき,すべてのビットが1であるnビットの2進数"1111…11"が表す数値又はその数式はどれか。

出典:平成20年春期 問 3

  • -(2n-1-1)
  • -1
  • 0
  • 2n-1
正解 問題へ
分野:テクノロジ系
中分類:基礎理論
小分類:離散数学
解説
2の補数表現された負数の絶対値を求めるには、2進数の整数を2の補数表現に変換するために行う「全ビットを反転してから1を足す」手順をもう一度実行します。

例として全ビットが1である負数「1111」で考えてみると、
  • 全ビットを反転 1111→0000
  • 1を足す 0000→0001
となり、絶対値が1の負数、すなわち2の補数表現での1111は10進数では-1であることがわかります。

同様に、
  • 全ビットを反転 1111 1111→0000 0000
  • 1を足す 0000 0000→0000 0001
や、
  • 111 1111 1111→000 0000 0000
  • 1を足す 000 0000 0000→000 0000 0001
などのようにどれだけ桁が増えても2の補数で表現された"1111…11"は-1を表していることになります。
  • -(2n-1-1)となるのは、2の補数表現で"1000…01"の場合です。
  • 正しい。
  • 0となるのは、2の補数表現(または2進数)で"0000…00"の場合です。
  • 2n-1となるのは、2の補数表現で"0111…11"の場合です。

この問題の出題歴


Pagetop