10進小数が有限桁の2進小数で表現できる条件
一つ前のエントリで調べたように、有理数 c/d は分母 d が自然数 r の素因数だけから構成される合成数であるとき、有限桁の r 進小数で表現できる。
具体的に数値を代入してみると、次のようになる。
- 有限桁の2進小数で表現できる有理数の分母は 2 のベキ乗数である。つまり、ある有理数 c/d について、となるような自然数 s が存在するとき、c/d は有限桁の2進小数に展開できる。
- 有限桁の10進小数で表現できる有理数の分母は 2 のベキ乗数と5のベキ乗数の積で表現される。つまり、ある有理数 c/d について、となるような自然数 t, u が存在するとき、c/d は有限桁の10進小数に展開できる。
これらの性質から、n 桁の10進小数について、以下の性質が証明される。
[定理] n 桁の10進小数は、それを倍しての倍数にできるような自然数 m ≧ n が存在するとき、有限桁の2進小数で表現できる。
[証明] n 桁の10進小数は、を分母とする有理数に変換できる。そのように変換したときの分子を c とする (これが元の数の倍である)。c がの倍数であるならば、分子と分母をで約分できて分母がとなり、分母が2のベキ乗数となるため有限の2進小数へ変換可能である。
具体的な数を例示すると以下のようになる。以下では、aのb乗を a^b と書いている。
- 0.1は、0.1 * 10 = 1 が 5^1 の倍数ではないので有限桁の2進小数で表現できない。
- 0.2は、0.2 * 10 = 2 が 5^1 の倍数ではないので有限桁の2進小数で表現できない。
- 0.25は、0.25 * 10^2 = 25 が 5^2 の1倍なので有限桁の2進小数で表現できる。
- 0.875は、0.875 * 10^3 = 875 が 5^3 の7倍なので有限桁の2進小数で表現できる。
などなどである。