10進数の0.1を2進数で表したものとして、最も適切なものはどれか。
- ①0.0001(小数点以下4桁で終わる)
- ②0.00011(小数点以下5桁で終わる)
- ③0.00011001…(0011が繰り返す)
- ④0.0101010101…(01が繰り返す)
答えと解説を見る
正解は「0.00011001…(0011が繰り返す)」。0.1は2進数では、0.0の後に0011の並びがずっと繰り返し、有限の桁では終わりません。
手順
①小数部分に2を掛け、整数部分を上の桁から順に取り出す。0.1×2=0.2→0、0.2×2=0.4→0。
②0.4×2=0.8→0、0.8×2=1.6→1、0.6×2=1.2→1。ここまでで0.00011。
③残りが0.2にもどったので、ここから0011が繰り返す。コンピュータは決まった桁数で打ち切るので、わずかな誤差が出ます。
ひっかけ注意
・「0.0101010101…(01が繰り返す)」…10進数の3分の1(0.333…)を2進数にしたもの。0.25+0.0625+…と足すと3分の1に近づく。
・「0.0001(小数点以下4桁で終わる)」…10進数の0.0625(2の−4乗)。0.1より0.0375小さい。
・「0.00011(小数点以下5桁で終わる)」…0.0625+0.03125=0.09375。0.1を途中で打ち切った値で、0.00625足りない。