第2種情報処理技術者試験 2000年度 = 平成12年度・秋期 午前 問5

 次の16ビットの固定小数点レジスタの内容を2ビット左へ論理シフトしたものをaとし、3ビット右へ論理シフトしたものをbとしたとき、aはbの何倍になるか。ここで、論理シフトではシフト後に空きとなったビットに0が補われるものとする。

   ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐    │0│0│0│0│0│0│0│1│0│1│0│0│0│0│0│0│    └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘

 ア 6  イ 12  ウ 24  エ 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倍になることが分かります。


BohYoh.comトップページへ