平成29年 秋期 基本情報技術者 午前 問1

数値を2進数で表すレジスタがある。
このレジスタに格納されている正の整数x を10倍にする操作はどれか。
ここで、桁あふれは起こらないものとする。

 ア  x を2ビット左にシフトした値にx を加算し、更に1ビット左にシフトする。
 イ  x を2ビット左にシフトした値にx を加算し、更に2ビット左にシフトする。
 ウ  x を3ビット左にシフトした値と、x を2ビット左にシフトした値を加算する。
 エ  x を3ビット左にシフトした値にx を加算し、更に1ビット左にシフトする。


答え ア


解説
シフト演算は左に1ビットシフトすると値を2倍することになり、2ビット左にシフトすると値を4倍にすることになる。 したがって、値を10倍にするには、x を2ビット左にシフトして4倍にした値にx を加算し5倍にし、更に1ビット左にシフトして10倍にします。


キーワード
・シフト
・あふれ

キーワードの解説

戻る 一覧へ 次へ