過去問解きまくり研究所 ホーム

平成29年度 秋期 午前 問1

離散数学

数値を2進数で表すレジスタがある。このレジスタに格納されている正の整数 x を10倍にする操作はどれか。ここで,桁あふれは起こらないものとする。

答えと解説を見る

✓ これが正解アx を2ビット左にシフトした値に x を加算し,更に1ビット左にシフトする。

解説

四倍に元を足して二倍すると、ちょうど十倍になりました。

左へ一つずらすと二倍、二つずらすと四倍になります。十倍は、二の重ね方だけでは作れません。だから、ずらした値と元の値を足す形にします。四倍に元を足すと五倍になり、さらに二倍すれば十倍でした。だから二つずらして足し、もう一つずらす肢が当たります。シフトと加算だけで、掛け算を組み立てられました。五倍にしてから四を掛ける肢は、二十倍になります。五倍まで同じですが、最後に四を掛けてしまいました。三つずらした値と二つずらした値を足す肢は、十二倍でした。八倍と四倍を足した形になります。九倍にしてから二倍する肢は、十八倍になりました。八倍に元を足して九倍とし、二倍した形です。倍率を数で書き出してみます。足してから、ずらす順を見ました。倍率を書き出して足し算にすれば、そこで決まります。

ほかの選択肢はなぜ違うのか

出典:平成29年度 秋期 基本情報技術者試験 午前 問1

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)