平成26年度 春期 午前 問1
基礎理論
基数に関する問題
2 進数で表現すると無限小数になる 10 進小数はどれか。
- ア0.375
- イ0.45
- ウ0.625
- エ0.75
答えと解説を見る
✓ これが正解イ0.45
解説
分母に 5 が残る小数だけが、2 進では終わりません。
設問は、2 進数に直すと無限小数になる 10 進小数を選ばせています。決め手は一つだけで、その小数を既約分数に直したときの分母が 2 の累乗だけでできているかどうかです。2 進の小数は 2 分の 1、4 分の 1、8 分の 1 といった重みの足し算しか作れませんから、分母に 2 以外の素因数が居座ると、どこまで桁を伸ばしても表しきれません。0.45 は 100 分の 45 で、約分すると 20 分の 9 です。20 は 2 と 2 と 5 の積ですから 5 が残り、有限の桁では書けません。実際に 2 倍しながら小数点以下を書き出すと、0.8、0.6、0.2、0.4、0.8 と元の値に戻ってしまい、0011 という並びが繰り返されます。身近な 0.1 も 10 分の 1 で 5 を持つため同じことが起き、これが浮動小数点の計算で誤差が生じる正体です。基数の変換では、割り切れるかどうかを分母の素因数で先に見ると迷いません。
ほかの選択肢はなぜ違うのか
- ア0.375:1000 分の 375 を約分すると 8 分の 3 になり、割る数は 2 を三つ掛けただけです。2 倍を繰り返すと三桁目で余りが消えて止まります。
- ウ0.625:1000 分の 625 は約分して 8 分の 5 です。こちらも割る数は 8 ですから、小数点以下 0.101 という三桁の並びで書き切れてしまいます。
- エ0.75:100 分の 75 は約分して 4 分の 3 です。割る数が 4 しかないので、0.11 の二桁で終わり、繰り返される部分はどこにも現れません。
出典:平成26年度 春期 応用情報技術者試験 午前 問1
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)