基本情報技術者平成21年春期 午前問2

問2

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

分類

テクノロジ系 » 基礎理論 » 離散数学

正解

解説

n進数で表された数を10進数に変換できるかがポイントです。

2進数のn桁目が2n-1(1、2、4、8、…)であるように、11進数のn桁目は10進数の11n-1に対応します。キー値 55550 を11進数とみなすと、10進数での値は以下のように計算できます。

 114×5+113×5+112×5+111×5

これを地道に計算してもよいのですが、ここでは速く解くために、まず式を変形(下線部分)してから解いています。

 114×5+113×5+112×5+111×5
(113+112+11+1)×55
=(1331+121+11+1)×55
=80520

参照すべきアドレスは、得られた 80520 の下4けた「0520」に0.5を乗じて、

 0520×0.5=0260

したがって「ア」が正解です。

【補足】式の変形
 114×5+113×5+112×5+111×5
=(114+113+112+111)×5
=(113+112+11+1)×5×11
=(113+112+11+1)×55
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop