平成20年 春期 基本情報技術者 午前 問3

負数を2の補数で表すとき、すべてのビットが1であるnビットの2進数“1111…11”が表す数値又はその数式はどれか。

 ア  -(2n-1-1)  イ  -1  ウ  0  エ  2n-1


答え イ


解説
2の補数の数の2の補数を求めます。
すべてのビットが1である“1111…11”の2の補数は、まずすべてのビットの0、1を反転して“0000…00”になり、これに1を加えるので、“0000…01”になります。
この0000…011なので、すべてのビットが1である“1111…11”は1の2の補数、すなわち-1(イ)を表していることがわかります。


キーワード
・補数
・2の補数

キーワードの解説
  • 補数
    ある数について、その数と加算することで、ある数のけた上がりが発生する最少の数のことです。
    10進数で123の補数を考えると、123は3けたなので、123に加算することで最も小さい4けたの数字(1000)になる数が補数になります。これを求めると877になり、123+877=1000で3けただった123に補数877を加算することで4けたの1000になります。
  • 2の補数
    2進数での補数の一つで負数(マイナス)を表す方法で、ある自然数とその自然数2の補数を加算すると補数の性質(元の数より1けた大きい最少の数字になる)があります。
    求め方は2進数の各ビットの0、1を反転して1を加えます。
    1010 0111の2の補数はビット反転した0101 1000に1を加えた0101 1001になります。
    (1010 0111+0101 1001=1 0000 0000)

もっと、「補数」について調べてみよう。

戻る 一覧へ 次へ