平成18年 春期 ソフトウェア開発技術者 午前 問2

負の整数を表現する代表的な方法として、次の3種類がある。
 a 2の補数による表現
 b 1の補数による表現
 c 絶対値に符号を付けた表現(左端ビットが0の場合は正、1の場合は負)
4ビットのパターン1101をa〜cの方法で表現したものと解釈したとき、値が小さい順になるように三つの方法を並べたものはどれか。

 ア  a、b、c  イ  a、c、b
 ウ  b、c、a  エ  c、a、b


答え エ


解説
各表現方法でビットパターン1101がいくつになるか求める。

  • 2の補数による表現
    1101は最上位ビットが1なので負の数であり、絶対値はビットを反転にすると、0010になり、これに1を加えると0011になる。これは10進数で3であるので1101は-3である。
  • 1の補数による表現
    1101は左端の最上位ビットが1なので負の数であり、絶対値はビットを反転(0→1、1→0)にすると、0010になりこれは10進数で2であるので1101は-2である。
  • 絶対値に符号を付けた表現
    1101の最上位ビットを除いた101は10進数で5であり、最上位ビットが1で負の数なので1101は-5である。
したがって、小さい順に並べるとc:-5、a:-3、b:-2(エ)になる。


キーワード
・負の整数の表現

キーワードの解説
  • 負の整数の表現
    コンピュータで使われる負の整数の表現方法としては、問題文にあるように
    • 1の補数による表現
    • 2の補数による表現
    • 絶対値に符号を付けた表現
    がある。(これ以外の表現方法は、はっきり言って知らなくても問題ない。)
    各表現方法の特徴は、
    • 1の補数による表現は、各ビットを反転すると、絶対値が同じで正負が逆になった値を得られる。
      全ビット0のときと、全ビットが1のときが両方0になり、無駄がでる。
    • 2の補数による表現は、各ビットを反転して、1を加えると、絶対値が同じで正負が逆になった値を得られる。
      正負を意識せずに加算処理ができるので、最も使われている。
    • 絶対値に符号を付けた表現は、人間の直感的には扱いやすいが、コンピュータでは使いにくい。
    です。

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

戻る 一覧へ 次へ