2ビット左シフトと加算による倍率

正解は ウ (5倍)です。 2進数を1ビット左にシフトすると値は2倍になります。 2ビット左シフトなら $2^2=4$ 倍 です。その結果に元の x を加えます。 操作 x=3(00011)の例 x を使って表すと 初期値 00011(3) x 2ビット左シフト 01100(12) 4x x を加える 01111(15) 4x+x=5x x=3 のとき結果は15で、確かに5倍になっています。

数値を2進数で格納するレジスタがある。このレジスタに正の整数xxを設定した後,“レジスタの値を2ビット左にシフトして,xxを加える”操作を行うと,レジスタの値はxxの何倍になるか。ここで,あふれ(オーバフロー)は,発生しないものとする。

出典平成28年度 春期 基本情報技術者試験 午前 問1
ア
3
イ
4
ウ
5
エ
6