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

平成21年度 春期 午前 問2

アルゴリズム

基数変換法に関する問題

0000 〜 4999 のアドレスをもつハッシュ表があり,レコードのキー値からアドレスに変換するアルゴリズムとして基数変換法を用いる。キー値が 55550 のときのアドレスはどれか。ここで,基数変換法とは,キー値を 11 進数とみなし,10 進数に変換した後,下 4 けたに対して 0.5 を乗じた結果(小数点以下は切捨て)をレコードのアドレスとする。

答えと解説を見る

✓ これが正解ア0260

解説

11 進数として読み、下 4 けたを半分にします。

設問が定めている基数変換法は、三つの段を順に踏む決め方です。まずキー値の並びを 11 進数とみなして 10 進数に直し、次にその結果の下 4 けただけを取り出し、最後に 0.5 を掛けて小数点以下を切り捨てます。見分けるときの軸は、この三つをどれも飛ばさずに順どおり踏むことです。キー値 55550 を 11 進数として読むと、桁の重みは大きいほうから 14641 、1331 、121 、11 、1 なので、上から四つの重みに 5 を、一の位の重みに 0 を掛けて足し合わせると 80520 になります。ここから下 4 けたを取ると 0520 で、これに 0.5 を掛けると 260 、すなわち 0260 です。下 4 けたは 0 から 9999 までにしかならず、その半分は 0 から 4999 までに必ず収まるので、この手順そのものがハッシュ表のアドレスの範囲へ落とし込む工夫になっています。

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

この問題の用語

出典:平成21年度 春期 基本情報技術者試験 午前 問2

同じ用語が出る問題

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