テクノロジ系1 / 80問
応用情報技術者試験 令和4年度 秋期 午前 問1
a を正の整数とし、b = a²とする。a を 2 進数で表現すると n ビットであるとき、b を 2 進数で表現すると最大で何ビットになるか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】イ
nビットで表せる正の整数aの最大値は、全てのビットが1である2ⁿ-1です。したがって、bの最大値は(2ⁿ-1)²となります。これは2²ⁿより小さいので、bを表すために必要なビット数は最大で2nビットです。例えばn=3なら、aの最大値は2進数の111、すなわち7です。その平方は49であり、2進数では110001となるので、2n=6ビット必要です。
アのn+1は誤りです。n=3の場合には4ビットとなりますが、最大値49は4ビットでは表せません。
ウのn²は誤りです。ビット数はnの二乗にはなりません。例えばn=3では9ビットとすることになりますが、実際の最大は6ビットです。
エの2ⁿは誤りです。これはnに対して指数的に増える値であり、平方の結果を表すビット数の増え方を示していません。平方すると数値の桁数はおおむね2倍になるので、必要なビット数も最大で2倍です。
【ポイント】 nビットの符号なし整数の範囲は、0~2ⁿ-1です。 数値を平方すると値は大きく増えますが、ビット数は最大で約2倍になります。 積を格納する領域の見積りでは、「nビット×nビットは最大2nビット」と覚えておきます。
出典:令和4年度 秋期 応用情報技術者試験 午前 問1
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の80問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる