IPA過去問ドリル

平成28年度 春期 基本情報技術者試験 午前 問1

テクノロジ/基礎理論

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

出典:平成28年度 春期 基本情報技術者試験 午前 問1

正解:ウ

解説

レジスタを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回分加えたと誤って計算した場合の値です。
基本情報技術者の過去問を演習モードで解く