- 0.999・・・=1という式の意味について解説する.
- 10進法では同じ数が2通りの方法で表せることがわかる.
- 2進数を始め,N進数でも同じことが起こる.
0.999・・・=1という式は「正しい式」として教えられますが,納得できている人は多くないのではないでしょうか.実は,10進法の定義に戻ると「同じ数の表示方法が2種類ある」ということがわかるのです.
0.999・・・=1の意味
0.999・・・=1との出会い
あれは小学生のころ...それとも中学生のときでしょうか.\begin{align}
0.999\cdots =1
\tag{1}
\label{eq:0.999=1}
\end{align}
という式に出会いました.
学校で先生に習ったのか,友達に教えてもらったのか...
あるいは「数の悪魔」という本で読んだのが最初だったのかもしれません.

- 作者:ハンス・マグヌス エンツェンスベルガー
- 発売日: 2000/04/01
- メディア: 単行本(ソフトカバー)
とにかく,私はこの式に悩まされ続けました.
最初に「解決したことにした」のは高校生のとき,極限の授業でのことでした.
無限等比級数の公式を使って
\sum_{k=1}^\infty\frac{9}{10^k}=1
\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進法」とは以下のように実数を表記するルールでした:
小学校では$a_k$を「$10^k$の位」と呼び,$a_{-k}$を「小数点第$k$位」と呼ぶのだと教わりましたね!
したがって,
\text{「$0.999\cdots$とは$\displaystyle\sum_{k=1}^\infty\frac{9}{10^k}$である」}
\end{aligned}
0.999・・・=1の意味
以上より,式(\ref{eq:0.999=1})はことを表していることがわかりました.
これは「実数"1"を10進法で表すと,2通りの表記がある」とを言っているに過ぎないわけです.
(これを,「過ぎない」と思えるかはは人それぞれかもしれませんが...)
・・・納得できたでしょうか?
(※)の確認
一応,上の(※)を確かめてみましょう.
そのためには
\begin{align}
1
&=\sum_{k=-\infty}^{-1} 9\cdot 10^k \tag{2}\label{eq:1=0.999}\\
1
&=1\cdot 10^0+\sum_{k=-\infty}^{-1} 0\cdot 10^k \tag{3}\label{eq:1=1.000}
\end{align}
の2つを示せばOKです.
式(\ref{eq:1=1.000})は明らかです.
式(\ref{eq:1=0.999})は,右辺の無限等比級数 (初項0.9, 公比0.1) を計算すれば1になることがわかります.//
2進数でも同じことが起きる!
2進数の定義
コンピュータで重要である2進数も同様で,級数
\begin{align}
\sum_{k=-\infty}^N a_k 2^k
\qquad(a_k=0,1)
\end{align}
で表される実数を
\begin{align}
a_N a_{N-1}\cdots a_1 a_0.a_{-1}a_{-2}\cdots
\end{align}
と記すのが2進数です.
2進数で"1"を2通りの方法で表す
10進数における「$0.999\cdots=1.000\cdots$」のようなことは,当然$N$進数で共通して起こります.例えば,
\begin{align}
\sum_{k=-\infty}^{-1}1\cdot 2^k
=1
\end{align}
であることから,2進数で実数1は$0.111\cdots$と$1.000\cdots$の2通りで表わされることになります.
$N$進数でも同じことが起きる!
10進数,2進数と全く同様です.練習問題:$N$進数において,実数1を2通りの方法で表してみましょう.