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

平成25年度 春期 午前 問1

基礎理論

2進数に関する問題

a を正の整数とし,b = a² とする。a を 2 進数で表現すると n ビットであるとき,b を 2 進数で表現すると高々何ビットになるか。

答えと解説を見る

✓ これが正解イ2n

解説

掛け算の桁数は足し算になり、2 乗は 2n ビットです。

n ビットで表せる正の整数の最大は、すべての位が 1 のときで、2 の n 乗から 1 を引いた値です。これを 2 乗しても 2 の 2n 乗には届きませんので、b は高々 2n ビットに収まります。小さい数で確かめると見通しが立ちます。n が 3 のとき a の最大は 7 で、7 を 2 乗した 49 は 6 桁ですから、ちょうど 2n です。n が 4 のとき a の最大は 15 で、15 を 2 乗した 225 は 8 桁になり、やはり 2n です。a が小さいときは桁数がこれより短くなりますから、設問は上限を聞く形になっています。ここで効いているのは、掛け算をすると桁数が足し合わされるという性質です。10 進数でも 3 桁どうしの積は高々 6 桁ですから、同じ数を掛ける 2 乗では n と n を足した 2n が上限になります。2 進数のビット数を指数と取り違えないことが、この問の分かれ目です。

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

出典:平成25年度 春期 応用情報技術者試験 午前 問1

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