離散数学(全109問中58問目)
No.58解説へ
負数を2の補数で表すとき,すべてのビットが1であるnビットの2進数"1111…11"が表す数値又はその数式はどれか。
出典:平成20年春期 問 3
- -(2n-1-1)
- -1
- 0
- 2n-1
広告
解説
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"の場合です。
広告