0.999・・・=1の意味

POINT

  • 0.999・・・=1という式の意味について解説する.
  • 10進法では同じ数が2通りの方法で表せることがわかる.
  • 2進数を始め,N進数でも同じことが起こる.

0.999・・・=1という式は「正しい式」として教えられますが,納得できている人は多くないのではないでしょうか.実は,10進法の定義に戻ると「同じ数の表示方法が2種類ある」ということがわかるのです.

0.999・・・=1の意味

0.999・・・=1との出会い

あれは小学生のころ...それとも中学生のときでしょうか.
\begin{aligned}
0.999\cdots =1
\tag{1}
% \label{eq:0.999=1}
\end{aligned}
という式に出会いました.

学校で先生に習ったのか,友達に教えてもらったのか...
あるいは「数の悪魔」という本で読んだのが最初だったのかもしれません.

とにかく,私はこの式に悩まされ続けました.
最初に「解決したことにした」のは高校生のとき,極限の授業でのことでした.
無限等比級数の公式を使って

\begin{aligned}
\sum_{k=1}^\infty\frac{9}{10^k}=1
\end{aligned}
を導いたのです.

・・・しかし,「解決したことにした」と書いたように,心の中はモヤモヤとしていました.

というのも,上では

\begin{aligned}
\text{「$0.999\cdots$とは$\displaystyle\sum_{k=1}^\infty\frac{9}{10^k}$である」}
\end{aligned}
としているわけですが,これが天下り的に与えられたようにしか思えなかったのです.

いったい,どこのだれが「$0.999\cdots$とは$\displaystyle\sum_{k=1}^\infty\frac{9}{10^k}$である」であることを保証してくれているのでしょう?

実数の表し方 (10進法)

この問題の解決には,実数を表記するルールに立ち戻る必要があります.
つまり,「10進法とは何か」を思い出さなくてはなりません.

私達が実数を表すのに用いる「10進法」とは以下のように実数を表記するルールでした:

10進法の定義
級数
\begin{aligned} \sum_{k=-\infty}^N a_k 10^k \qquad(a_k=0,1,2,3,4,5,6,7,8,9) \end{aligned}
で表される実数があるとき,
\begin{aligned} a_N a_{N-1}\cdots a_1 a_0.a_{-1}a_{-2}\cdots \end{aligned}
と記す(.は小数点).

小学校では$a_k$を「$10^k$の位」と呼び,$a_{-k}$を「小数点第$k$位」と呼ぶのだと教わりましたね!

したがって,

\begin{aligned}
\text{「$0.999\cdots$とは$\displaystyle\sum_{k=1}^\infty\frac{9}{10^k}$である」}
\end{aligned}
とは,「10進法(の定義)」が保証してくれていたのです.

0.999・・・=1の意味

以上より,式(1)は

実数1を10進数で表す場合,$0.999\cdots$と$1.000\cdots$の2通りがある・・・(※)

ことを表していることがわかりました.


これは「実数"1"を10進法で表すと,2通りの表記がある」とを言っているに過ぎないわけです.
(これを,「過ぎない」と思えるかはは人それぞれかもしれませんが...)

・・・納得できたでしょうか?

(※)の確認
一応,上の(※)を確かめてみましょう.
そのためには

\begin{aligned}
1
&=\sum_{k=-\infty}^{-1} 9\cdot 10^k
\tag{2}
% \label{eq:1=0.999}
\end{aligned}
\begin{aligned}
1
&=1\cdot 10^0+\sum_{k=-\infty}^{-1} 0\cdot 10^k
\tag{3}
% \label{eq:1=1.000}
\end{aligned}
の2つを示せばOKです.
式(3)は明らかです.
式(2)は,右辺の無限等比級数(初項0.9, 公比0.1)を計算すれば1になることがわかります.//

2進数でも同じことが起きる!

2進数の定義

コンピュータで重要である2進数も同様で,
級数
\begin{aligned}
\sum_{k=-\infty}^N a_k 2^k
\qquad(a_k=0,1)
\end{aligned}
で表される実数を
\begin{aligned}
a_N a_{N-1}\cdots a_1 a_0.a_{-1}a_{-2}\cdots
\end{aligned}
と記すのが2進数です.

2進数で"1"を2通りの方法で表す

10進数における「$0.999\cdots=1.000\cdots$」のようなことは,当然$N$進数で共通して起こります.
例えば,
\begin{aligned}
\sum_{k=-\infty}^{-1}1\cdot 2^k
=1
\end{aligned}
であることから,2進数で実数1は$0.111\cdots$と$1.000\cdots$の2通りで表わされることになります.

$N$進数でも同じことが起きる!

10進数,2進数と全く同様です.
練習問題:$N$進数において,実数1を2通りの方法で表してみましょう.
【ヒント】
\begin{aligned}
\sum_{k=-\infty}^{-1} N^{k}
&= \sum_{k=1}^{\infty} \biggl(\frac{1}{N} \biggr)^{k} \\
&= \frac{1/N}{1-(1/N)} \\
&=\frac{1}{N - 1}
\end{aligned}