ソフトウェア開発技術者試験 |
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です。
以上から、選択肢エのc(-5)<a(-3)<b(-2)が得られます。