ソフトウェア開発技術者試験 2004年度 = 平成16年度 午前 問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

解答



解説

 それぞれの表現において、4ビットパターン“1101”に対応する正の数(符号を反転した値)を求めるとよいでしょう。

a 2の補数
 すべてのビットを反転(0→1/1→0)して1を加えます。

  ┏━┯━┯━┯━┓反転┏━┯━┯━┯━┓+1┏━┯━┯━┯━┓   ┃1│1│0│1┃ → ┃0│0│1│0┃ → ┃0│0│1│1┃ +3   ┗━┷━┷━┷━┛  ┗━┷━┷━┷━┛  ┗━┷━┷━┷━┛

 したがって、“1101”は-3です。

b 1の補数
 すべてのビットを反転(0→1/1→0)します。

  ┏━┯━┯━┯━┓反転┏━┯━┯━┯━┓   ┃1│1│0│1┃ → ┃0│0│1│0┃ +2   ┗━┷━┷━┷━┛  ┗━┷━┷━┷━┛

 したがって、“1101”は-2です。

c 符号と絶対値
 最上位ビットを反転(0→1/1→0)します。

  ┏━┯━┯━┯━┓符号を反転┏━┯━┯━┯━┓   ┃1│1│0│1┃  →  ┃0│1│0│1┃ +5   ┗━┷━┷━┷━┛     ┗━┷━┷━┷━┛

 したがって、“1101”は-5です。

 以上から、選択肢(-5)<a(-3)<b(-2)が得られます。


BohYoh.comトップページへ