応用情報技術者試験 応用情報技術者試験 令和4年度秋期 午前 問1: a を正の整数とし,b = a² とする。a を 2 進数で表現すると n ビットであるとき,b を 2 進数で表現すると最大で何ビットになるか。
a を正の整数とし,b = a² とする。a を 2 進数で表現すると n ビットであるとき,b を 2 進数で表現すると最大で何ビットになるか。
73.19%
問題本文
a を正の整数とし,b = a² とする。a を 2 進数で表現すると n ビットであるとき,b を 2 進数で表現すると最大で何ビットになるか。
解説
2進数のビット数と値の大きさの関係を問う問題。n ビットで表せる正の整数 a の最大値は全ビットが1の場合で 2ⁿ−1、最小値は最上位ビットだけが1の 2ⁿ⁻¹ である。a が最大の 2ⁿ−1 のとき b=a² は (2ⁿ−1)² = 2²ⁿ − 2ⁿ⁺¹ + 1 となり、これは 2²ⁿ より小さいので 2n ビットで表せる。一方 a の最小値 2ⁿ⁻¹ では a² = 2²ⁿ⁻² となり 2n−1 ビット必要なので、a² が必要とするビット数は最大で 2n ビットとなり、正解はイである。
選択肢ごとの解説
- ア.n+1 は a を2倍した程度(1ビット増加)に相当し、2乗による桁数の増加を大きく過小評価しているので誤り。
- イ.正しい。n ビットの数を2乗するとビット数はおおむね2倍になり、最大で 2n ビットになる。
- ウ.n² はビット数ではなく値の指数を誤って2乗したもの。例えば n=4 なら 2n=8 で済むところを 16 とする過大評価で誤り。
- エ.2ⁿ は n ビットで表せる値の規模そのものであり、ビット数の表現としては桁違いに大きく誤り。
応用情報技術者試験 令和4年度秋期 午前 の過去問一覧へ戻る・問1