基礎理論
基本情報技術者試験 科目A免除 修了試験 20170122 実施分 問2
非負の2進数b1b2…bnを3倍にしたものはどれか。
- ア b1b2…bn0 + b1b2…bn
- イ b1b2…bn00 − 1
- ウ b1b2…bn000
- エ b1b2…bn1
出典:基本情報技術者試験 科目A免除 修了試験 20170122 実施分 問2
答えと解説を見る
正解:ア
覚える知識
左シフトによる2のべき乗倍と加算
2進数をkビット左シフトすると2^k倍になり、3倍は2倍と1倍の和で表せる。
この問題で必要なこと
2進数の1ビット左シフトは2倍になる。3倍は「2倍+1倍」なので、b1…bn0 と b1…bn を足せばよい。
ひっかけ
末尾に1を付ける(2倍+1)や000を付ける(8倍)など、シフトの倍率を取り違えさせる。
この知識の出題:本試験系 4 回・免除試験 12 回(公開問題での観測値)