基本情報技術者平成15年秋期 午前問3

午前問3

nビットのすべてが1である2進数"1111…11"が表す数値又はその数式はどれか。ここで,負数は2の補数で表す。
  • [この問題の出題歴]
  • 基本情報技術者 H20春期 問3

分類

テクノロジ系 » 基礎理論 » 離散数学

正解

解説

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…00"の場合です。
  • 正しい。
  • 0となるのは、2の補数表現(または2進数)で"0000…00"の場合です。
  • 2n−1となるのは、2の補数表現で"0111…11"の場合です。
© 2010-2021 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop