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}
という式に出会いました.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}
を導いたのです.\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}
としているわけですが,これが天下り的に与えられたようにしか思えなかったのです.\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進法(の定義)」が保証してくれていたのです.\text{「$0.999\cdots$とは$\displaystyle\sum_{k=1}^\infty\frac{9}{10^k}$である」}
\end{aligned}
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}
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です.1
&=1\cdot 10^0+\sum_{k=-\infty}^{-1} 0\cdot 10^k
\tag{3}
% \label{eq:1=1.000}
\end{aligned}
式(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}
で表される実数を\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進数です.a_N a_{N-1}\cdots a_1 a_0.a_{-1}a_{-2}\cdots
\end{aligned}
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通りで表わされることになります.\sum_{k=-\infty}^{-1}1\cdot 2^k
=1
\end{aligned}
$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}
\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}