基本情報技術者試験 2005年度 = 平成17年度・秋期 午前 問3

 整数m がレジスタに2進数として入っている。これを3ビット左にシフトしたものにm を加えると、結果は元のmの何倍になるか。ここで、あふれが生じることはないものとする。

ア 4 イ 7 ウ 8 エ 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トップページへ