問題

問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を足す
となり、いずれも誤りです。

鈴木 啓一郎(すずき・けいいちろう)
ITに関するコンサルティングや教育を実施するアイティ・アシストのインストラクタ。新入社員研修や各種ベンダー試験、基本情報技術者試験、応用情報技術者試験などの対策研修も手がけている。ITストラテジスト、システム監査技術者などの資格を所持。