数値を2進数で格納するレジスタがある。このレジスタに正の整数xを設定した後,“レジスタの値を2ビット左にシフトして,xを加える”操作を行うと,レジスタの値はxの何倍になるか。ここで,あふれ(オーバフロー)は,発生しないものとする。
nビット左シフトは2のn乗倍。4x+x=5x
選択肢
- ア3
- イ4
- ウ5
- エ6
正解と解説
正解:ウ 5
2進数を1ビット左へシフトすると値は2倍になるので、2ビット左シフトは2の2乗すなわち4倍を意味する。シフト後のレジスタには4xが入っており、そこに元の値xを加えるので4x+x=5xとなる。左シフトによる乗算と加算を組み合わせると、任意の定数倍をシフトと加算だけで実現できるという考え方の基本例である。
選択肢ごとの解説
- ア3倍になるのは1ビット左シフト(2倍)にxを加えた場合であり、シフト量が合わない。
- イ4倍はシフトだけを行った時点の値で、xを加える操作が反映されていない。
- ウ正解。2ビット左シフトで4x、これにxを加えて5xとなる。
- エ6倍にするには1ビットシフトした2xを3回分足すなどの操作が必要で、この手順では得られない。
同じ分野の他の問題
- 浮動小数点形式で表現された数値の演算結果における丸め誤差の説明はどれか。2025年度 公開問題 科目A 問2
- 16進小数0.Cを10進小数に変換したものはどれか。2023年度 公開問題 科目A 問1
- 負数を2の補数で表すとき、8ビットの2進正数nに対し-nを求める式はどれか。ここで、+は加算を表し、ORはビットごとの論…2022年度 公開問題 科目A 問1
- H.264/MPEG-4 AVCの説明として、適切なものはどれか。2019年度 秋期 午前 問24
- 音声のサンプリングを1秒間に11,000回行い、サンプリングした値をそれぞれ8ビットのデータとして記録する。このとき、5…2019年度 春期 午前 問25
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。