小数

とは、位取り記数法と小数点を用いて実数を表現するための表記法である。紀元前の中国で発明され、16世紀に欧州に伝播した。

## 概要
0 超過 1 未満の数を、分数を使わずに表現する方法の一つ。1 を桁の**基数** N で P 回割った数の桁を、小数第 P 位として表現する。

例えば、十進法で 1425 の百分の一に相当する数は、小数と小数点（ピリオドまたはコンマ）を用いて、

または、

のように表現する（なお、日本では小数点としてピリオドを用いることがほとんどである）。小数点より左を**整数部（分）**と呼んで、右から一の位、十の位の数を記述する。小数点より右は**小数部（分）**と呼んで、1 より小さい位として、左から十分の一の位、百分の一の位の数を順に記述する。上に挙げた数の場合には、十の位は「1」、一の位は「4」、十分の一の位は「2」、百分の一の位は「5」となる。より小さい数を表現する場合には、この後に「千分の一の位」や「一万分の一の位」と順に位を増やすことで対応することができる。

小数部分の位は、小数第一位は「十分の一の位」、小数第二位は「百分の一の位」となるが、単に「小数第一位」「小数第二位」というように序数で呼ぶ例も多い。「小数点以下第 *P* 位」と呼ぶこともあるが、この場合の「以下」は小数点自体は含まずに数えることになっているので、「小数第 *P* 位」と同じである。10進数以外の他の進数の表記においても同様である。

## 使用例
以下に使用例を挙げる。小数は長さや質量といった細分できる量を表現したり、割合や平均を表現するのにも用いる。

;細分できる量
* 五円硬貨の厚さは 、質量は 。
;割合や平均
* 1986年のランディ・バースの打率は 。
* 国の人口密度順リストによると、グリーンランドの人口密度は あたり である。
* 円周率は円周の長さの直径に対する比率であり、である。

## 小数部の区切り
国際単位系(SI)の規定では、桁の数が多い場合の読取りを容易にするため、小数部の桁数が4以上の場合は、3桁ごとに空白（通常は、半スペース（:en:thin space））で区切ることになっている。ただし、小数部の桁数が4の場合は、3桁と1桁とに分けないのが普通である。物理学をはじめとする理学や工学の分野では、この国際単位系(SI)の規定に従った記法が使われる。

ただし、設計図、財務諸表、コンピュータが読み取るスクリプト(script)などの特定の専門的分野では、上記のやりかたは必ずしも使われていない。

以下は、NIST SP811（https://www.nist.gov/pml/special-publication-811）における例である。

* 76 483 522 とする（76,483,522　としない）
* 43 279.168 29	とする（43,279.168 29 としない）
* 8012 又は 8 012 とする（8,012 としない）
* 0.491 722 3 の方が　0.4917223　より望ましい
* 0.5947 又は 0.594 7 とする（0.59 47 としない）
* 8012.5947 又は 8 012.594 7 とする（8 012.5947 や 8012.594 7 としない）

## 小数の分類
### 
有限桁の数字で表せる小数を**有限小数**と呼ぶ。一般には分数が有限小数になる条件は、記数法の底（基数）と分母の素因数との関係で記述できる。既約分数  が  進法で有限小数となるための必要十分条件は  となる。即ち  の素因数が全て  の素因数にもなっていることである。
* 例．10進数においては基数10が 2 × 5 で表せることより除数 *b* が 2 × 5 (*i* , *j* ≧ 0) の数においては有限小数になる。他の進数においてもその進数の基数の数により有限小数になる数が定まる。

一般の実数は有限小数として表せない。小数部の桁数が有限にならないものを**無限小数**と呼ぶ。例えば円周率は通常の位取り記数法において有限小数として表せず、無限小数として表される数の一つである。

### 

 や 、あるいは  など、小数部に有限の長さの数列が繰り返し連続して現れるものを**[[循環小数]]**と呼ぶ。また繰り返し現れる数列のうち最も短いものを**循環節**と呼ぶ。

循環小数として表せる数は有理数に限られる。

循環小数は循環節と有限小数の組として表せる。様々な記法があるが、一般的に用いられる記法の一つとして、下記のように循環節の始点と終点をドットで示す方法がある：
: 
: 
循環節の長さが1桁の場合、ドットを1つだけ打つ：
: 
: 

必要ならば、有限小数として表せる数は循環小数としても表せる。例えば、 のように、0 や 9 を無限に繰り返しているといえるからである。

無限小数のうち循環小数として表せないものを**非循環小数**と呼ぶ。小数展開が循環小数となる数は有理数であるから、非循環小数となる数は無理数である。非循環小数は簡単に作ることができ、例えば
: \sum_{n=1}^\infty 10^{-\frac{1}{2}n(n+1)} = 0.101001000100001\dots 
は非循環小数である。

### 表示の一意性

殆どの場合に異なる無限小数表示は異なる実数を与えるが、
: 1/10 = 0.1 = 0.0999...
: 273/1000 = 0.273 = 0.272999...
のように、途中から全ての桁に「10 - 1」にあたる数字が並び続けるような表示は、「10 - 1」の並びが始まる直前の数字を1つ増やして、後は0を続けたものと同じ実数を与える。

小数は、実数を整数 *a*0 と 0 から 9 までのどれかにあたる *a**n* (*n* &ge; 1) を用いて
: a_0 + \sum_{n=1}^\infty a_n 10^{-n}
のような無限級数の形で表すことであるから、すべての *a**n* が一致しなくても極限が一致することはありうるのである。しかし、あるところから先にすべて 0 が続くことがないように循環小数として表せば表現は一意的になる。このためいくつかの場合には（たとえばカントールの対角線論法）、全てを循環小数として表現することが必要になる。

### その他の分類
整数部が0である小数を**純小数**または**真小数**、それ以外を**帯小数**と呼ぶことがある。

## 実数の表現
与えられた実数と以上の自然数に対して，の進無限小数表記を与える無限数列の各項の値を決定する二種類の手続きを次のように与える。これらの手続きのどちらを採用してもその表記は一意的に定まるが、以外の有限小数に対する無限小数表記は採用した手続きによって異なるものとなる。

一つ目：
# であれば、全ての項をとしてここで終了する。
# （: 天井函数，: 絶対値）とし，とおく。
# 区間を等分し、その両端点と個の等分点を左から s_{i,0}=p_i, s_{i,1}, \cdots, s_{i,j} = p_i {+} \frac{j}{n^i}, \cdots, s_{i,n-1}, s_{i,n}=p_i{+}\frac{n}{n^i} とする。
# をからまで移動させ、なるが存在すればそこでを固定し、とした後，にを加算して 3. に戻る。

こうして得られた数列は、以降のに対してを満たすから、は進法を用いて桁の数字で表現できる。ここで、を符号関数とし、の進法表記の後にを付け（これを**小数点**と呼ぶ）、数字 を列記してできる表記、即ち
: 
という形で無限小数表記が得られた。この手続きによる場合、無限数列の途中の項からが無限に続くのはしかない。

二つ目：
# *a*0 = [abs&#8289;*x*]（[・]：ガウス記号）とし、*i* = 1 とする。
# *x*&#39; = abs *x* - *a*0、*p*1 = 0 とする。この時、*x*&#39; &isin; [0,1) である。もし、*x*&#39; = 0 であれば、残りの項を 0 としてここで終了する。
# 区間 [*p**i* , *p**i*+*n*1-*i*) を *n* 等分し、その両端点と *n* - 1 個の等分点を左から *p**i*=*s**i*,0, *s**i*,1, &hellip;, *s**i*, *n*-1 , *s**i*, *n*=*p**i*+*n*1-*i* とする。
# *j* を 0 から *n* - 1 まで移動させ、*x*&#39; &isin; [*s**ij*, *s**i*,*j* + 1) なる *j* が存在すればそこで *j* を固定し、*a**i* = *j* として次に進む。
# もし、*x*&#39; = *s**ij* であれば、残りの項を 0 としてここで終了する。そうでなければ *p**i*+1 = *s**ij* とし、*i* に 1 を加算して (3.) に戻る。
こうして得られた数列 *a**n* は、1 以降の *i* に対して 0 &le; *a**i* &le; *n* - 1 を満たすから、*a**i* は *n* 進法を用いて 1 桁で表現できる。ここで、(sgn&#8289;*x*)を符号関数とし、(sgn *x*)*a*0 の *n* 進法表記の後に . を付け（これを**小数点**と呼ぶ）、*a**i* を列記していったもの、即ち
: x = (\sgn x)a_0.a_1 a_2 a_3 \dots
とする表現を小数とする。この手続きによる場合、無限数列 *a**n* の途中の項から *n* - 1 が無限に続くことは無い。

但し、小数点以下のある項から 0 が無限に続くようであれば、その位置から 0 を省略し、何も書かなくてよい（この場合は有限小数となる）。特にその項が小数点以下第一位であった場合は小数点も省略して良い（この場合は整数となる）。また、そうでない場合は列記していく操作を永久に続けることになるが、実際は不可能である。このような時、省略記号を使って項を省略してよい。(上記「#小数の分類」参照)

## 小数の起源
バビロニア数学では六十進法の位取り記数法で数字を記述していた。十進法以外を含めるなら、バビロニア数学での数字表記が最古の小数である。ただし現在で言う小数点に相当するものが存在しないため、記述された数字の実際の数値がどうなのかは、前後の文脈から判断しないといけないという問題点があった。

現代の小数と同じ十進法における小数は古代中国で発明された。中国では紀元前14世紀から十進法が使用されており、紀元前から計算上小数が使用されていたと推測される。現存する最古の小数は、紀元5年の日付のある劉歆による体積の標準単位に関する碑文にある「9.5」である。劉徽は263年に数学書『九章算術』を著し、現代のアラビア数字表記での8.660254寸を「八寸六分六釐二秒五忽、五分忽之二」と記している（小数第6位を表す単位が無いため、分数との併記になっている）。これが小数が最初に登場した現存の数学文献であり、計量と方程式の解という2つの文献に登場する。

完全な小数がすべての一般的な演算に取り入れられ、その真の体系と研究法が確立したのは13世紀になってからであり、この発達に特に貢献した数学者は楊輝と秦九韶である。

小数の概念は中国からアラビア人でサマルカンドの天文台長を務めたアル・カーシーに伝わった。ヨーロッパで最初に小数を理解したのは1530年にアウグスブルクでExpempel-Buechlinを著したクリストッフ・ルドルフであると数学史家のが述べている。そしてクリストッフ・ルドルフが小数の意義を理解していたことを学術論文で明らかにした最初の人物がオランダのシモン・ステヴィンである。1585年に出版した「十進分数論」の中で小数を紹介した。その名が示す通り、分数の分母を十の累乗に固定した場合に計算が非常にやりやすくなると説明した。ステヴィンは他にも帆走車などの中国の科学や技術をヨーロッパに紹介した。

なおステヴィンの提唱した小数の表記法は現代の「0.135」であれば、これを「1①3②5③」と表記する。ヨーロッパにおいて現代のような小数点による表記となったのは、20年ほど後にジョン・ネイピアの提唱による。

## 注釈

## 出典


## 参考文献

## 関連項目
* 小数点
* 浮動小数点数 - 計算機における実数の表現
* 固定小数点数 - 計算機における実数の表現
* 床関数 - 小数から整数部分を得るために使うことがある