左に無限桁の小数で表示される数

Last-modified: Thu, 27 Apr 2017 07:07:39 JST (1682d)
Top > 左に無限桁の小数で表示される数

良く聞く言い回しとして、「実数は右に無限桁の符号付き小数で表示される数*1\( p \)進数は左に無限桁の小数で表示される数*2」というものがあります。実際、実数を符号付き小数で表示すると、右に向かって数が無限に続いていくように書くことが出来ます。例えば\( 2 \)進法表記における実数の小数展開は

\begin{eqnarray*} 5 &=& 101_{(2)} = 101.0000000000 \cdots_{(2)} \\ \\ \frac{3}{4} &=& 0.11_{(2)} = 0.1100000000_{(2)} \cdots \\ \\ -1 &=& -1.0000000000 \cdots_{(2)} \\ \\ \frac{1}{3} &=& 0.0101010101 \cdots_{(2)} \end{eqnarray*}

となりますね。これに対して\( p \)進数はその定義から、左に向かって数が無限に続いていくように書くことができるのです。ここでは\( p \)進数*3を書く時は、\( p \)進法表記の実数と同様、右下に\( (p) \)を書くことにします。そのような表記だと与えられた数が実数\( p \)進法表記を表すのか\( p \)進数を指すのか紛らわしいのではないか、と思うかもしれませんが、右に無限桁の小数の右下に\( (p) \)が付いていたらそれは実数\( p \)進法表記に他ならず、左に無限桁の小数の右下に\( (p) \)が付いていたらそれは\( p \)進数に他ならず、左右に有限桁の小数の右下に\( p \)が付いていたらそれは実数\( p \)進法表記だと思っても\( p \)進数だと思っても同じ有理数を表すということを後に証明するので、その紛らわしさはあまり気にする必要がありません。

冒頭で述べたように、有理数は\( p \)進数とみなせることを後で説明致します。なので今は「有理数を左に無限桁の小数として表記する方法がある」ということは認めて下さい。その上で、以下に実際に有理数がどのような\( p \)進数として(つまりどのような、左に無限桁の小数として)表記されるかの例を、\( p = 2 \)の場合で挙げておきます。

\begin{eqnarray*} 5 & = & 101_{(2)} = \cdots 0000000101_{(2)} \\ \\ \frac{3}{4} & = & 0.11_{(2)} = \cdots 0000000000.11_{(2)} \\ \\ -1 & = & \cdots 1111111111_{(2)} \\ \\ \frac{1}{3} & = & \cdots 1010101011_{(2)} \end{eqnarray*}

上の例において、自然数や分母が\( p \)の冪乗であるような正の有理数は、実数として小数で\( p \)進法表記して左に\( 0{} \)を並べただけのものになっています*4。しかし負の有理数や分母が\( p \)の冪乗でないような有理数は、\( p \)進法表記における実数としての小数展開とは全く異なるものになってしまいました。ここで1つ注目したいことは、\( -1 \)という負の数を、負符号を用いずに表示できているところです。これは、実数には不等式で定める大小関係により順序の構造が入ってしまう(特に\( 0{} \)未満の数として負の数という概念が定義される)のに対し、\( p \)進数には順序の構造が自然には入らないため、負の数という概念が定まらないことに起因します。裏を返せば、\( p \)進数としては正の有理数も負の有理数も区別することなく扱えるということになります。

では、\( p \)進数を用いることで、どんなことができるでしょうか? 数、というくらいなので、足し算や掛け算が出来て欲しいものですが、それはきちんと定義されます。




*1 実数の無限小数展開は表し方が1通りとは限らないことに注意が必要です。例えば&mathjax{2};進法では&mathjax{0.1111111111 \cdots_{(2)} = 1.0000000000 \cdots_{(2)}};、&mathjax{3};進法では&mathjax{0.2222222222 \cdots_{(3)} = 1.0000000000 \cdots_{(3)}};となります。
*2 実数と違って、&mathjax{p};進数の無限小数展開はただ1通りの方法で表されます。そのためここではしばらくの間、無限小数展開そのものを&mathjax{p};進数の定義とみなすことにします。そして後に無限小数展開を使わずに&mathjax{p};進数を定義し直し、その定義が無限小数展開を用いた定義と等価であることを確認します。
*3 正確には、&mathjax{p};進数の位取り記法というものです。ここでは位取り記法で左に無限桁の小数そのものを&mathjax{p};進数の定義だと思っていますが、後に位取り記法を用いずに直接&mathjax{p};進数という概念を定義し直します。
*4 従って先程述べたように、実数の&mathjax{p};進法表記と思っても問題ないことになります。