リンク

2015年3月4日水曜日

勉強のあれこれ4

今回も問題を解いていきたいと思います!!!!

問1

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

ア 0260 イ2525 ウ 2775 エ 4405











答え ア

解説

55550を11進数と見なし、10進数に変換する。

5×11⁴+5×11³+5×11²+5×11¹+0×11⁰
=(((5×11+5)×11+5)×11+5)×11
=(665×11+5)×11 = 80520

その結果の下4ケタに対して0.5を乗じる。

0520 × 0.5 = 260

したがって、アドレスは0260となる。

問2

負の整数を表現する代表的な方法として、次の3種類がある。

a 1の補数による表現
b 2の補数による表現
c 絶対値に符号をつけた表現(左端ビットが0の場合は正、1の場合は負)

4ビットのパターン1101をa~cの方法で表現したものと解釈したとき、値が小さい順になるように三つの方法を並べたものはどれか。

ア a,c,b イ b,a,c ウ b,c,a エ c,b,a





答え エ

解説

1の補数は「0」と「1」を反転したものである。2の補数はそれに1を加えたものである。
 1の補数による表現の場合、「1101」の1の補数は「0010」で、10進数では「2」である。したがって、「1101」はー2となる。
 2の補数による表現の場合、「1101」の2の補数は「0011」で、10進数では「3」である。したがって、「1101」はー3となる。
 絶対値による表現の場合、「1101」は先頭ビットが1だから、10進数では「-5」となる。
 以上より、10進数で小さい順に並べるとc,b,aとなる。

問3

浮動小数点形式で表現された数値の演算結果における丸め誤差の説明はどれか。

ア 演算結果がコンピュータの扱える最大値を超えることによって生じる誤差である。
イ 数表現の桁数に限度があるので、最下位桁より小さい部分について四捨五入や切上げ、切捨てを行うことによって生じる誤差である。
ウ 乗除算において、指数部が小さい方の数値の仮数部の階部分が失られることによって生じる誤差である。
エ 絶対値がほぼ等しい数値の加減算において、上位の有効数値が失われることによって生じる誤差である。






答え イ

解説

コンピュータの数値表現の桁数には制限があるため、最下位けたより小さい部分については、四捨五入や切上げ・切捨てを行うが、この時に発生する誤差を丸め誤差という。

問4

2進数の浮動小数点表示で誤差を含まずに表現できる10進数はどれか

ア 0.2 イ 0.3 ウ 0.4 エ 0.5








答え エ

解説

浮動小数点形式で表示するためには、まず、その10進数を2進数に変換してから、指数部と仮数部を求める。したがって誤差を含まずに表現できるための条件は、2進数に変換して無限小数にならないことである。0.5は2進数では0.1となるので、誤差を含まずに表現できる。
 0.2と0.3と0.4は、2進数に変換すると無限小数となるので、誤差を含んでしまう。

問5

実数aをa=f×r e と表す浮動小数点表示に関する記述として、適切なんのはどれか

ア fを仮数, eを指数, rを基数という
イ fを基数, eを仮数, rを指数という
ウ  fを基数, eを指数, rを仮数という
エ fを指数, eを基数, rを仮数という













答え ア

解説

浮動小数点表示では、実数を基数変換した後、符号・指数・仮数の順に記憶する。仮数とは、2進数表示の場合、実数の小数点の位置を移動して、先頭の1が整数一桁目から始まるか、または小数点以下一桁目から始まるように調整して表示される形式である。このような調整を正規化という。また、指数は小数点を移動したことによって掛けられる基数のべき数のことである。
 例えば、IEEE754形式の場合は次のように表示される。

0.000101 = 1.010000×2⁻⁴
101000.0 = 1.010000×2⁵

したがって、f×r e と表すと、 fは仮数、 eは指数、 rは基数となる。









0 件のコメント:

コメントを投稿