離散数学 (全109問中58問目)
No.58
負数を2の補数で表すとき,すべてのビットが1であるnビットの2進数"1111…11"が表す数値又はその数式はどれか。
出典:平成20年春期 問3
- -(2n-1-1)
- -1
- 0
- 2n-1
- [出題歴]
- 基本情報技術者 H15秋期 問3
分類
テクノロジ系 » 基礎理論 » 離散数学
正解
イ
解説
2の補数表現された負数の絶対値を求めるには、2進数の整数を2の補数表現に変換するために行う「全ビットを反転してから1を足す」手順をもう一度実行します。
例として全ビットが1である負数「1111」で考えてみると、
同様に、
例として全ビットが1である負数「1111」で考えてみると、
- 全ビットを反転 1111→0000
- 1を足す 0000→0001
同様に、
- 全ビットを反転 1111 1111→0000 0000
- 1を足す 0000 0000→0000 0001
- 111 1111 1111→000 0000 0000
- 1を足す 000 0000 0000→000 0000 0001
- -(2n-1-1)となるのは、2の補数表現で"1000…01"の場合です。
- 正しい。
- 0となるのは、2の補数表現(または2進数)で"0000…00"の場合です。
- 2n-1となるのは、2の補数表現で"0111…11"の場合です。