平成28年度 春期 基本情報技術者試験 午前 問1
テクノロジ/基礎理論数値を2進数で格納するレジスタがある。このレジスタに正の整数 x を設定した後,“レジスタの値を2ビット左にシフトして,x を加える”操作を行うと,レジスタの値は x の何倍になるか。ここで,あふれ(オーバフロー)は,発生しないものとする。
出典:平成28年度 春期 基本情報技術者試験 午前 問1
- ア3
- イ4
- ウ5
- エ6
正解:ウ
解説
レジスタを2ビット左にシフトする操作は,値を4倍にすることと同じです。そこにさらに元の値xを加えるので,結果は4x+x=5xとなり,xの5倍になります。
選択肢ごとの解説
- ア誤り。3倍になるのは,1ビット左シフト(2倍)にxを1回加えたと誤って考えた場合の値です。
- イ誤り。4倍になるのは,2ビット左シフトの効果だけを考え,xを加える操作を数え忘れた場合の値です。
- ウ正しい。2ビット左シフトで4倍になった値に,さらにxを加えるので4x+x=5xとなり,5倍になります。
- エ誤り。6倍になるのは,4倍にしたあとxを2回分加えたと誤って計算した場合の値です。