基本情報技術者試験 2001年度 = 平成13年度・秋期 午前 問2

 2進数m の9倍の値を求める方法はどれか。ここで、けた移動によって、あふれが生じることはないものとする。

 ア  m を2ビット左にけた移動したものに、m を1ビット左にけた移動したものを加える。
 イ  m を3ビット左にけた移動したものに、m を加える。
 ウ  m を3ビット左にけた移動する。
 エ  m を9ビット左にけた移動する。

解答

 イ

解説

 10進数の11すなわち(1011)2を1ビット左にシフト(けた移動)すると、以下に示すように、値は2倍になります。

┏━┯━┯━┯━┯━┯━┯━┯━┓    ┃0│0│0│0│1│0│1│1┃  11 ┗━┷━┷━┷━┷━┷━┷━┷━┛            ↓ 1ビット左に桁移動  ┏━┯━┯━┯━┯━┯━┯━┯━┓    ┃0│0│0│1│0│1│1│0┃  22 ┗━┷━┷━┷━┷━┷━┷━┷━┛   

 2進数の値を左に1けた移動すると値が2倍になるのは、10進数の値を左に1けた移動すると値が10倍になるのとまったく同じ理由によります。
 左に3ビットけた移動した値は23倍すなわち8倍になりますので、それにもとの値を加えると、9倍の値を求めることができます。


BohYoh.comトップページへ