平成24年度 春期 午前 問2
離散数学
2進数に関する問題
非負の2進数 b₁b₂…b_n を3倍にしたものはどれか。
- アb₁b₂…b_n0 + b₁b₂…b_n
- イb₁b₂…b_n00 − 1
- ウb₁b₂…b_n000
- エb₁b₂…b_n1
答えと解説を見る
✓ これが正解アb₁b₂…b_n0 + b₁b₂…b_n
解説
1桁左へずらして2倍、それにもとの値を足します。
2進数を左へ1桁ずらして右端に0を補うと、値はちょうど2倍になります。どの桁の重みも一つぶん上がるからです。3倍は2倍と1倍の和ですから、左へ1桁ずらしたものと、ずらす前のものを足し合わせれば作れます。設問の並びでいえば、末尾に0を1つ付けたものへ、もとの並びをそのまま加える形です。判定の軸は二つです。付け足した0の個数が何倍に当たるかを取り違えていないこと、そして加えたり引いたりする量が、定数ではなくもとの値そのものになっていることです。
ほかの選択肢はなぜ違うのか
- イb₁b₂…b_n00 − 1:末尾に0を二つ並べた形は、もとの値を4つ集めたものにあたります。そこから1を差し引いても、目指す大きさとの隔たりはもとの値から1を引いた分だけ残ったままです。
- ウb₁b₂…b_n000:末尾に0を三つ並べた形なので、もとの値を8つ集めた大きさになります。加減算をいっさい含まないため、2を繰り返し掛けた倍率しか作れません。
- エb₁b₂…b_n1:末尾に1を書き足した形は、2つぶんに1を上乗せした大きさです。上乗せされる量が、もとの値ではなく1という決まった数である点が食い違います。
出典:平成24年度 春期 基本情報技術者試験 午前 問2
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)