基本情報技術者試験 - 令和6年6月修了 - 問1
数値を2進数で格納するレジスタがある。このレジスタに正の整数xを設定した後,“レジスタの値を2ビット左にシフトして,xを加える” 操作を行うと,レジスタの値はxの何倍になるか。ここで,あふれ(オーバフロー)は,発生しないものとする。
| ア | 3 |
|---|---|
| イ | 4 |
| ウ | 5 |
| エ | 6 |
答え : ウ
分野 : テクノロジ系 › 基礎理論 › 基礎理論 › 離散数学
解説 :
レジスタに入った数値を2進数のまま「2ビット左シフトしてxを加える」とどうなるかを考える問題です。2進数を左に1ビットシフトすると値は2倍になります。2ビット左シフトすると2倍がもう一度繰り返されるので4倍になります。そこにさらにxを加えるということは,4倍になった値に元の値(1倍)を足すことになるので,4x+x=5xとなります。正解は「ウ」の5倍です。
「イ」の4倍はシフトのみで加算を忘れた場合の誤答,「ア」の3倍や「エ」の6倍は計算を誤った場合に選びやすい選択肢です。2進数のシフト演算と乗算の関係を理解していれば,実際に2進数で試さなくても暗算で解ける問題です。
分野 : テクノロジ系 › 基礎理論 › 基礎理論 › 離散数学
解説 :
レジスタに入った数値を2進数のまま「2ビット左シフトしてxを加える」とどうなるかを考える問題です。2進数を左に1ビットシフトすると値は2倍になります。2ビット左シフトすると2倍がもう一度繰り返されるので4倍になります。そこにさらにxを加えるということは,4倍になった値に元の値(1倍)を足すことになるので,4x+x=5xとなります。正解は「ウ」の5倍です。
「イ」の4倍はシフトのみで加算を忘れた場合の誤答,「ア」の3倍や「エ」の6倍は計算を誤った場合に選びやすい選択肢です。2進数のシフト演算と乗算の関係を理解していれば,実際に2進数で試さなくても暗算で解ける問題です。