a を正の整数とし,b = a² とする。a を 2 進数で表現すると n ビットであるとき,b を 2 進数で表現すると最大で何ビットになるか。
イ. 2n
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 ビットとなり、正解はイである。
ap-2022r04a-a の過去問一覧へ戻る・問1