問題
問2 非負の2進数b1b2…bnを3倍にしたものはどれか。
ア b1b2……bn0+b1b2…bn
イ b1b2……bn00-1
ウ b1b2……bn000
エ b1b2……bn1
解説と解答
2進数ではビットをシフトする(左右にずらす)だけで乗算・除算ができます。
左にシフトする例
≪2進数≫
「110」を左に2桁シフトすると「11000」。これは元の数字の2n倍、つまり4倍になりました。(10進数に換算すると、6→24になった)
≪10進数≫
「200」を左に2桁シフトすると「20000」。これは元の数字の10n倍、つまり100倍になりました。
2進数を3倍するには「元の数値を2倍したもの+元の数」と計算します。本問では、桁をシフトし、さらに元の数を加えた「b1b2…bn0+b1b2…bn」です。
よって、正解はアとなります。
ちなみに
イ:4倍したものから1を減じる
ウ:8倍する
エ:2倍したものに1を足す
となり、いずれも誤りです。