第2種情報処理技術者試験 |
1996年度 = 平成8年度・春期 |
午前 |
問9 |
次の16ビットのレジスタの内容を2ビット左へ論理シフトしたものをaとし、3ビット右へ論理シフトしたものをbとしたとき、aとbの正しい関係はどれか。ここで、論理シフト後に空きとなったビットには0が補われる。
┏━┯━┯━┯━┯━┯━┯━┯━┯━┯━┯━┯━┯━┯━┯━┯━┓
┃0¦0¦0¦0¦0¦0¦0¦1¦0¦1¦0¦0¦0¦0¦0¦0┃
┗━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┛
ア
| aはbの5倍である。
|
イ
| aはbの6倍である。
|
ウ
| aはbの12倍である。
|
エ
| aはbの24倍である。
|
オ
| aはbの32倍である。
|
オ
2進数の値を左に1けた移動すると値が2倍になり、右に1けた移動すると値が1/2になります。これは、10進数の値を左に1けた移動すると値が10倍になり、右に1けた移動すると値が1/10になるのとまったく同じ理由です。
このことから、左に2けた移動すると値は22倍すなわち4倍になり、右に3けた移動すると値は2-3倍すなわち1/8倍になることが分かります。
念のため確認しましょう。左に2けた移動したaは、以下のようになります。
┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
│0│0│0│0│0│1│0│1│0│0│0│0│0│0│0│0│
└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
右に3けた移動したbは、以下のようになります。
┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
│0│0│0│0│0│0│0│0│0│0│1│0│1│0│0│0│
└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
したがって、aはbの25倍すなわち32倍になることが分かります。