Home標準記数法符号付き数の列正数の列負の基数

1. 位取り記数法

1. 位取り記数法
2. 十進法からk進法への変換
3. k進法の小数
4. 十進法の小数からk進法の小数への変換
5. 辞書順配列
6. 非負の剰余による整数
7. 非負の剰余による小数

十進法(Decimal)

十進法は位取り記数法のひとつである。 十進法で表された数を1文字ずつ分解した各々の位のことを右側から順に「一の位」「十の位」「百の位」「千の位」「万の位」等という。 十進法の場合,各々の位は 0,1,2,3,4,5,6,7,8,9 のいずれかになる。 \[ 62834=6\times 10^4+2\times 10^3+8\times 10^2+3\times 10+4 \] 十進法で表された数 62834 において,一の位「4」は4を,十の位「3」は30を,百の位「8」は800を,千の位「2」は2000を,万の位「6」は60000を表している。

位取り記数法

一つの数に対して,事前に定めた文字集合からなる一続きの文字列を対応させる規則のことを 記数法 という。 特に,位を表示するための文字を使用せず,文字を配置する位置によって位が表現されるような記数法のことを 位取り記数法 という。 たとえば,十進法では「事前に定めた文字集合」は {0,1,2,3,4,5,6,7,8,9} になる。 標準的な位取り記数法では「事前に定めた文字集合」に 0 が含まれる。いわゆる「0の発見」とは「位取り記数法の発明」のことをいう。

漢数字

漢数字は記数法の一つではあるが位取り記数法ではない。 漢数字の表記には,「一」「二」「三」「四」「五」「六」「七」「八」「九」の9文字と,位を表す「十」「百」「千」「万」「億」「兆」等の文字を用いる。

1101 =10
2102 =100
3103 =1000
4104 =10000
5108 =100000000
61012
71016
81020
9

3097を漢数字で表すと「三千九十七」になる。位ごとに文字が必要なため,漢数字の記数法は位取り記数法ではない。 「三千九十七」は 3×1000+9×10+7 という構成になっている。「千」や「十」は位のみを表示することに特化されていて,ローマ数字よりも抽象化が進んでいるといえる。

ローマ数字

ローマ数字は記数法の一つではあるが位取り記数法ではない。 ローマ数字の表記には,「I」「V」「X」「L」「C」「D」「M」の文字を用いる。

I1IV4
V5IX9
X10XL40
L50XC90
C100CD400
D500CM900
M1000

3097をローマ数字で表すと「MMMXCVII」となる。位ごとに文字が必要なため,ローマ数字の記数法は位取り記数法ではない。 「MMMXCVII」は 1000+1000+1000−10+100+5+1+1 という構成になっていて,漢数字ほどには抽象化されていない。

k進法から十進法への変換

k を2以上の整数とする。位取り記数法において,各々の位は 0,1,2,…,k−1 のいずれかで,k のべきが単位となる。 このような k のことを基数または底(BaseまたはRadix)といい,基数が k の場合の記数法を k進法 という。 たとえば,基数が k=10 なら十進法になる。

非負の整数 x がk進法で x=an…a2a1a0 と表されるとき,x は位ごとに x=ankn+…+a2k2+a1k+a0 と分解できる。 \[ (a_n a_{n-1}\cdots a_2 a_1 a_0)_k=a_n k^n+a_{n-1} k^{n-1}+\cdots +a_2 k^2+a_1 k+a_0 \] ai や k を十進法で表してこの式を計算すれば,k進法から十進法に変換できる。

二進法(Binary)

二進法で表された数を位ごとに分解すると,各々の位は 0,1 のいずれかになる。 二進法の数を 101102 のように表して他の記法と区別することができる。 \[ 10110_2=1\times 2^4+0\times 2^3+1\times 2^2+1\times 2+0 \] 二進法の 10110 は十進法の 22 に等しい。

八進法(Octal)

八進法で表された数を位ごとに分解すると,各々の位は 0,1,2,3,4,5,6,7 のいずれかになる。 八進法の数を 475268 のように表して他の記法と区別することができる。 \[ 47526_8=4\times 8^4+7\times 8^3+5\times 8^2+2\times 8+6 \] 八進法の 47526 は十進法の 20310 に等しい。

十六進法(Hexadecimal)

十六進法で表された数を位ごとに分解すると,各々の位は 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F のいずれかになる。ただし,A=10,B=11,C=12,D=13,E=14,F=15とする。 十六進法の数を 59AD16 のように表して他の記法と区別することができる。 \[ \text{59ad}_{16}=5\times 16^3+9\times 16^2+10\times 16+13 \] 十六進法の 59AD は十進法の 22957 に等しい。

~進法と~進数

定義: 「~~進法で表された数」のことを簡単に「~~進数」ということがある。

「十進数」とは「十進法で表された数」のことだから,「十進数」は数であると同時に,十進法のルールで表示されていなければならない。つまり「~~進数」は数の側面と文字列の側面を併せ持つ。

例: 二進法で表された数 1101 について,次の等式が成り立つ(あるいは正しい等式として許容される)。 \[ 1101_2=1\times 2^3+1\times 2^2+0\times 2+1 \] 左辺の文字列と右辺の数式が等号で結ばれているから,左辺の「二進数」は数として評価されている。

例: また,二進法で表された数 1101 と十進法で表された数 13 について,次の等式が成り立つ(あるいは正しい等式として許容される)。 \[ 1101_2=13_{10} \] 左辺の文字列と右辺の文字列が等号で結ばれている。文字列としては等しくないから,左辺の「二進数」と右辺の「十進数」は数として評価されている。

再定義: 「~~進法で表された数または文字列」のことを「~~進数」という。ただし比較や演算を行う場合は数として評価される。

「~~進数」が数であるか文字列であるかは文脈から判断しなければならない。両方の意味を同時にもつこともある。「~~進数」の使用は避けたほうがよい。

次のページへ

1 2 3 4 5 6 7 Next

2. 十進法からk進法への変換

1. 位取り記数法
2. 十進法からk進法への変換
3. k進法の小数
4. 十進法の小数からk進法の小数への変換
5. 辞書順配列
6. 非負の剰余による整数
7. 非負の剰余による小数

十進法から二進法へ

十進法で 37 と表される数を二進法に変換する。 はじめに 37 を2で割り,商と余りを求める。その商をさらに2で割り,商と余りを求める。この操作を商が0になるまで繰り返す。

除算
37 ÷ 2181
18 ÷ 290
9 ÷ 241
4 ÷ 220
2 ÷ 210
1 ÷ 201

そうして求めた余りを逆順に並べると,十進法の 37 は二進法で 100101 になる。 この結果が正しいことを確かめるために,「被除数=商×除数+剰余」の形の式を,最後の行から順に展開していく。最後の行(商が0の行)は省いてもかまわない。 \begin{align*} \boxed{2} &=1\times 2+0\\ \boxed{4} &=\boxed{2}\times 2+0\\ &=(1\times 2+0)\times 2+0\\ &=1\times 2^2+0\times 2+0\\ \boxed{9} &=\boxed{4}\times 2+1\\ &=(1\times 2^2+0\times 2+0)\times 2+1\\ &=1\times 2^3+0\times 2^2+0\times 2+1\\ \boxed{18} &=\boxed{9}\times 2+0\\ &=(1\times 2^3+0\times 2^2+0\times 2+1)\times 2+0\\ &=1\times 2^4+0\times 2^3+0\times 2^2+1\times 2+0\\ 37 &=\boxed{18}\times 2+1\\ &=(1\times 2^4+0\times 2^3+0\times 2^2+1\times 2+0)\times 2+1\\ &=1\times 2^5+0\times 2^4+0\times 2^3+1\times 2^2+0\times 2+1 \end{align*} したがって,十進法の 37 を二進法で表すと 100101 になる。

十進法から八進法へ

十進法で 3674 と表される数を八進法に変換する。

除算
3674 ÷ 84592
459 ÷ 8573
57 ÷ 871
7 ÷ 807

求めた余りを逆順に並べると,十進法の 3674 は八進法で 7132 になる。 この結果が正しいことを確かめるために,最後の行から順に展開していく(最後の行は省く)。 \begin{align*} 57 &=7\times 8+1\\ 459 &=57\times 8+3\\ &=(7\times 8+1)\times 8+3\\ &=7\times 8^2+1\times 8+3\\ 3674 &=459\times 8+2\\ &=(7\times 8^2+1\times 8+3)\times 8+2\\ &=7\times 8^3+1\times 8^2+3\times 8+2 \end{align*} したがって,十進法の 3674 を八進法で表すと 7132 になる。

十進法から十六進法へ

十進法で 3674 と表される数を十六進法に変換する。

除算
3674 ÷ 1622910
229 ÷ 16145
14 ÷ 16014

求めた余りを逆順に並べると,十進法の 3674 は十六進法で E5A になる。 この結果が正しいことを確かめるために,最後の行から順に展開していく(最後の行は省く)。 \begin{align*} 229 &=14\times 16+5\\ 3674 &=229\times 16+10\\ &=(14\times 16+5)\times 16+10\\ &=14\times 16^2+5\times 16+10 \end{align*} したがって,十進法の 3674 を十六進法で表すと E5A になる。

次のページへ

1 2 3 4 5 6 7 Next

3. k進法の小数

1. 位取り記数法
2. 十進法からk進法への変換
3. k進法の小数
4. 十進法の小数からk進法の小数への変換
5. 辞書順配列
6. 非負の剰余による整数
7. 非負の剰余による小数

十進法の小数

十進法で表された小数を位ごとに分解すると,各々の位は 0,1,2,3,4,5,6,7,8,9 のいずれかになる。 \[ 0.675=\frac{6}{10}+\frac{7}{10^2}+\frac{5}{10^3} =6\times 10^{-1}+7\times 10^{-2}+5\times 10^{-3} \] 十進法で表された小数 0.675 において,「6」は 0.6 を,「7」は 0.07 を,「5」は 0.005 を表している。

1より大きい数の場合は,小数点の左側が整数部分,小数点の右側が小数部分になる。 \[ 24.675=2\times 10^1+4\times 10^0+6\times 10^{-1}+7\times 10^{-2}+5\times 10^{-3} \] 十進法で表された小数 24.675 において,「2」は 20 を,「4」は 4 を,「6」は 0.6 を,「7」は 0.07 を,「5」は 0.005 を表している。

k進法の小数から十進法の小数への変換

非負の整数 x がk進法で x=an…a0.a−1…a−m と表されるとき,x は位ごとに x=ankn+…+a0k0+a−1k−1+…+a−mk−m と分解できる。 k の指数が0または正の部分は「整数部分」,指数が負の部分は「小数部分」になる。 \[ (a_n \cdots a_0.a_{-1}\cdots a_{-m})_k=a_n k^n+\cdots +a_0 k^0+a_{-1}k^{-1}+\cdots +a_{-m}k^{-m} \] ai や k を十進法で表してこの式を計算すれば,k進法の小数から十進法の小数に変換できる。 他の進法に変換すると,循環小数になることもある。

二進法の小数

二進法で表された数を位ごとに分解すると,各々の位は 0,1 のいずれかになる。 \[ 11.001_2=1\times 2^1+1\times 2^0+0\times 2^{-1}+0\times 2^{-2}+1\times 2^{-3} \] 二進法の 11.001 は十進法の 3.125 に等しい。

八進法の小数

八進法で表された数を位ごとに分解すると,各々の位は 0,1,2,3,4,5,6,7 のいずれかになる。 \[ 527.36_8=5\times 8^2+2\times 8^1+7\times 8^0+3\times 8^{-1}+6\times 8^{-2} \] 八進法の 527.36 は十進法の 343.46875 に等しい。

十六進法の小数

十六進法で表された数を位ごとに分解すると,各々の位は 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F のいずれかになる。ただし,A=10,B=11,C=12,D=13,E=14,F=15とする。 \[ \text{c2.5}_{16}=12\times 16^1+2\times 16^0+5\times 16^{-1} \] 十六進法の C2.5 は十進法の 194.3125 に等しい。

循環小数になる場合

k進法で表された数を十進法に変換すると循環小数になる場合がある。 \[ 0.221_3=2\times 3^{-1}+2\times 3^{-2}+1\times 3^{-3} \] 三進法の 0.221 を十進法で表すと 0.925925925… のように循環小数になる。

次のページへ

1 2 3 4 5 6 7 Next

4. 十進法の小数からk進法の小数への変換

1. 位取り記数法
2. 十進法からk進法への変換
3. k進法の小数
4. 十進法の小数からk進法の小数への変換
5. 辞書順配列
6. 非負の剰余による整数
7. 非負の剰余による小数

十進法の小数から二進法の小数へ

十進法で 4.375 と表される小数を二進法に変換する。 4.375 を整数部分 4 と小数部分 0.375 に分け,整数部分については 十進法からk進法への変換 の方法で二進法に変換し,小数部分については以下の方法で二進法に変換する。

0.375 に2を掛け,整数部分と小数部分を求める。その小数部分にさらに2を掛け,整数部分と小数部分を求める。この操作を小数部分が0になるまで繰り返す。

除算
4 ÷ 220
2 ÷ 210
1 ÷ 201
乗算
0.375 × 200.75
0.75 × 210.5
0.5 × 210

そうして求めた整数部分を並べると,十進法の 0.375 は二進法で 0.011 になる。 この結果が正しいことを確かめるために,上の計算を最後の行から順に展開していく。 \begin{align*} 0.5\times 2 &=1\\ \boxed{0.5} &=1\times 2^{-1}\\ 0.75\times 2 &=1+0.5\\ 0.75 &=1\times 2^{-1}+\boxed{0.5}\times 2^{-1}\\ 0.75 &=1\times 2^{-1}+(1\times 2^{-1})\times 2^{-1}\\ \boxed{0.75} &=1\times 2^{-1}+1\times 2^{-2}\\ 0.375\times 2 &=0+0.75\\ 0.375 &=0\times 2^{-1}+\boxed{0.75}\times 2^{-1}\\ 0.375 &=0\times 2^{-1}+(1\times 2^{-1}+1\times 2^{-2})\times 2^{-1}\\ 0.375 &=0\times 2^{-1}+1\times 2^{-2}+1\times 2^{-3} \end{align*} したがって,十進法の 0.375 を二進法で表すと 0.011 になる。 整数部分と小数部分をつなげると,十進法の 4.375 は二進法で 100.011 になる。

十進法の小数から八進法の小数へ

十進法で 26.71875 と表される小数を八進法に変換する。 26.71875 を整数部分 26 と小数部分 0.71875 に分け,整数部分については 十進法からk進法への変換 の方法で八進法に変換し,小数部分については以下の方法で八進法に変換する。

0.71875 に8を掛け,整数部分と小数部分を求める。その小数部分にさらに8を掛け,整数部分と小数部分を求める。この操作を小数部分が0になるまで繰り返す。

除算
26 ÷ 832
3 ÷ 803
乗算
0.71875 × 850.75
0.75 × 860

求めた整数部分を並べると,十進法の 0.71875 は八進法で 0.56 になる。 この結果が正しいことを確かめるために,上の計算を最後の行から順に展開していく。 \begin{align*} 0.75\times 8 &=6\\ 0.75 &=6\times 8^{-1}\\ 0.71875\times 8 &=5+0.75\\ 0.71875 &=5\times 8^{-1}+0.75\times 8^{-1}\\ 0.71875 &=5\times 8^{-1}+(6\times 8^{-1})\times 8^{-1}\\ 0.71875 &=5\times 8^{-1}+6\times 8^{-2} \end{align*} したがって,十進法の 0.71875 を八進法で表すと 0.56 になる。 整数部分と小数部分をつなげると,十進法の 26.71875 は八進法で 32.56 になる。

十進法の小数から十六進法の小数へ

十進法で 21.96875 と表される小数を十六進法に変換する。 21.96875 を整数部分 21 と小数部分 0.96875 に分け,整数部分については 十進法からk進法への変換 の方法で十六進法に変換し,小数部分については以下の方法で十六進法に変換する。

0.96875 に16を掛け,整数部分と小数部分を求める。その小数部分にさらに16を掛け,整数部分と小数部分を求める。この操作を小数部分が0になるまで繰り返す。

除算
21 ÷ 1615
1 ÷ 1601
乗算
0.96875 × 16150.5
0.5 × 1680

求めた整数部分を並べると,十進法の 0.96875 は十六進法で 0.F8 になる。 この結果が正しいことを確かめるために,上の計算を最後の行から順に展開していく。 \begin{align*} 0.5\times 16 &=8\\ 0.5 &=8\times 16^{-1}\\ 0.96875\times 16 &=15+0.5\\ 0.96875 &=15\times 16^{-1}+0.5\times 16^{-1}\\ 0.96875 &=15\times 16^{-1}+(8\times 16^{-1})\times 16^{-1}\\ 0.96875 &=15\times 16^{-1}+8\times 16^{-2} \end{align*} したがって,十進法の 0.96875 を十六進法で表すと 0.F8 になる。 整数部分と小数部分をつなげると,十進法の 21.96875 は十六進法で 15.F8 になる。

循環小数になる場合

十進法で表された数をk進法に変換すると循環小数になる場合がある。 十進法で 0.4 と表される小数を九進法に変換する。

乗算
0.4 × 930.6
0.6 × 950.4
0.4 × 930.6
0.6 × 950.4

したがって,十進法の 0.4 を九進法で表すと 0.353535… のように循環小数になる。

次のページへ

1 2 3 4 5 6 7 Next

5. 辞書順配列

1. 位取り記数法
2. 十進法からk進法への変換
3. k進法の小数
4. 十進法の小数からk進法の小数への変換
5. 辞書順配列
6. 非負の剰余による整数
7. 非負の剰余による小数

辞書順配列

辞書順配列とは,テキストの1文字目を比較することによってアルファベット順に並べ, 1文字目が等しい場合はテキストの2文字目を比較することによって, 1文字目から2文字目までが等しい場合はテキストの3文字目を比較することによってアルファベット順に並べるような方法のことをいう。

テキストの1文字目を小数第1位,2文字目を小数第2位というように割り当てると,テキストそのものを記数法と見なすことができる。 簡単のため,アルファベットは A から I までの9文字からなる文字集合と仮定して,A=1,B=2,C=3,D=4,E=5,F=6,G=7,H=8,I=9 とする。 ただし A=0 としないことに注意する。もし A=0 とすると,テキスト A とテキスト AA の順位が等しくなってしまう。 このようにすると,任意のテキストが 0.1 から 0.999… までの十進法の数と一対一対応できる。

順位テキスト
0.1A
0.11AA
0.113AAC
0.2B
0.99II

テキストの二十七進法

アルファベットが A から Z までの26文字からなる文字集合であるとき,A=1,B=2,C=3,…,Z=26 として,これに 0 を付け加えると,任意のテキストは二十七進法の小数と見なすことができる。

なお,零抜き二十六進法の小数と見なすことはできない。 正数の列で表す記数法 の結果から,零抜き二十六進法では,長さの異なる複数の小数が等しい値をもつため使えない。

次のページへ

1 2 3 4 5 6 7 Next

6. 非負の剰余による整数

1. 位取り記数法
2. 十進法からk進法への変換
3. k進法の小数
4. 十進法の小数からk進法の小数への変換
5. 辞書順配列
6. 非負の剰余による整数
7. 非負の剰余による小数

標準的なk進法

基数 k が 2 以上の整数のとき,任意の数を非負数 0,1,…,k−1 の列で表す記数法のことを k 進法 という。 非負の実数 x を k 進法で表した文字列を anan−1…a0.a−1a−2… とする。 \[ x=a_n a_{n-1}\cdots a_0 .a_{-1}a_{-2}\cdots \] x が整数の場合は,小数部分(小数点より右側の部分)が0になる。 \[ x=a_n a_{n-1}\cdots a_0 \] 負の実数 y を k 進法で表す場合は,−y=x が正になるからこれを上の方法で k 進法で表し,その結果に負の符号を付ける。 \[ y=-a_n a_{n-1}\cdots a_0 .a_{-1}a_{-2}\cdots \]

切り捨ての商と非負の剰余

実数を整数に丸める関数を F(x) とする。ここでは床関数(切り捨て)を用いる。 \[ F(x)=\lfloor x\rfloor \] x は任意の実数,k は正の実数とする。 被除数 x を除数 k で割ったときの整数商 q を F(x/k)=⌊x/k⌋ によって定めると,剰余 r は非負の実数(0≤r<k)になる。 \[ q=F\left(\frac{x}{k}\right),\;x=qk+r\implies 0\le r\lt k \] 特に,x が整数で k が 2 以上の整数の場合は,r は 0≤r≤k−1 の範囲の整数になる。 \[ x,k\in \mathbb{Z},\;q=F\left(\frac{x}{k}\right),\;x=qk+r\implies 0\le r\le k-1 \]

整数部分の決定

x は非負の整数,k は 2 以上の整数とする。 x=0 でないとき,x を k で割った商を q0,剰余を a0 とする。ただし除法は上に定めたものとする。 a0 は 0≤a0≤k−1 の範囲の整数になる。 \[ q_0=F\left(\frac{x}{k}\right)\quad (q_0<x),\qquad x=q_0 k+a_0\quad (0\le a_0\le k-1) \] q0=0 でないとき,q0 を k で割った商を q1,剰余を a1 とする。 \[ q_1=F\left(\frac{q_0}{k}\right)\quad (q_1<q_0),\qquad q_0=q_1 k+a_1\quad (0\le a_1\le k-1) \] 同様にして除算を繰り返す。qi−1=0 でないとき,qi−1 を k で割った商を qi,剰余を ai とする。 \[ q_i=F\left(\frac{q_{i-1}}{k}\right)\quad (q_i<q_{i-1}),\qquad q_{i-1}=q_i k+a_i\quad (0\le a_i\le k-1) \] x>q0>q1>… より,ある番号 n で qn=0 になるから,その時点でとりやめる。 \[ q_n=F\left(\frac{q_{n-1}}{k}\right)=0,\qquad q_{n-1}=q_n k+a_n\quad (0\le a_n\le k-1) \] 除算の結果を次々に置き換えると,x を k のべきを使って表すことができる。 \begin{align*} x &=q_0 k+a_0\\ &=q_1 k^2+a_1 k+a_0\\ &\qquad \qquad \cdots \\ &=q_{i-1} k^i+a_{i-1} k^{i-1}+\cdots +a_2 k^2+a_1 k+a_0\\ &\qquad \qquad \cdots \\ &=q_{n-1} k^n+a_{n-1} k^{n-1}+\cdots +a_2 k^2+a_1 k+a_0\\ &=a_n k^n+a_{n-1} k^{n-1}+\cdots +a_2 k^2+a_1 k+a_0 \end{align*} したがって,非負の整数 x を k 進法で表したときの各位は ai になる。 \[ x=a_n a_{n-1}\cdots a_2 a_1 a_0 \]

除法の許容範囲

丸め関数 F(x) は,⌊x⌋ から ⌈x−(k−1)/k⌉ までの範囲内のものに置き換えてもかまわない。 \[ \left \lfloor x\right \rfloor \le F(x)\le \left \lceil x-\frac{k-1}{k}\right \rceil \] なぜなら,x が整数ならば,上の範囲内の F(x) によって同一の結果が得られるからである。 \[ x\in \mathbb{Z}\implies q_0=\left \lfloor \frac{x}{k}\right \rfloor =\left \lceil \frac{x}{k}-\frac{k-1}{k}\right \rceil \]

次のページへ

1 2 3 4 5 6 7 Next

7. 非負の剰余による小数

1. 位取り記数法
2. 十進法からk進法への変換
3. k進法の小数
4. 十進法の小数からk進法の小数への変換
5. 辞書順配列
6. 非負の剰余による整数
7. 非負の剰余による小数

k進法の小数部分

十進法において小数部分の下限は 0.000…=0,上限は 0.999…=1 である。 一般に,k 進法において非負の実数 x の整数部分を Q,小数部分を R とすると,小数部分 R は次の式の範囲内にある。 \[ 0\le R\le 1 \] そこで,実数を整数に丸める関数を f(x),g(x) とする。 \[ g(x)=\left \lceil x-1\right \rceil,\qquad f(x)=\left \lfloor x\right \rfloor,\qquad g(x)\le f(x) \] 非負の実数 x の整数部分 Q を f(x) によって定めれば,小数部分 R は \[ Q=f(x)\implies 0\le R\lt 1 \] 非負の実数 x の整数部分 Q を g(x) によって定めれば,小数部分 R は \[ Q=g(x)\implies 0\lt R\le 1 \] となる。 f(x),g(x) のうち,整数部分の計算規則に適合するのは f(x) のみである。

小数部分の決定

整数部分,小数部分は丸め関数 f(x) によって定められたものとすると,非負の実数 x の小数部分 R は 0≤R<1 の範囲の実数になる。 R=0 でないとき,R に k を掛けた値の整数部分を a−1,小数部分を r−1 とすると, a−1 は 0≤a−1≤k−1 の範囲の整数,r−1 は 0≤r−1<1 の範囲の実数になる。 \[ a_{-1}=f(R\times k),\qquad R\times k=a_{-1}+r_{-1}\quad (0\le r_{-1}\lt 1) \] r−1=0 でないとき,r−1 に k を掛けた値の整数部分を a−2,小数部分を r−2 とする。 \[ a_{-2}=f(r_{-1}\times k),\qquad r_{-1}\times k=a_{-2}+r_{-2}\quad (0\le r_{-2}\lt 1) \] 同様にして乗算を繰り返す。r−i+1=0 でないとき,r−i+1 に k を掛けた値の整数部分を a−i,小数部分を r−i とする。 ある番号 −m で r−m=0 になれば,その時点でとりやめる。 r−i=0 にならなければ無限小数になる。 \[ a_{-i}=f(r_{-i+1}\times k),\qquad r_{-i+1}\times k=a_{-i}+r_{-i}\quad (0\le r_{-i}\lt 1) \] 乗算の結果を次々に置き換えると,R を k のべきを使って表すことができる。 \begin{align*} R &=a_{-1} k^{-1}+r_{-1} k^{-1}\\ &=a_{-1} k^{-1}+a_{-2} k^{-2}+r_{-2} k^{-2}\\ &\qquad \qquad \cdots \\ &=a_{-1} k^{-1}+a_{-2} k^{-2}+\cdots +a_{-i} k^{-i}+r_{-i} k^{-i} \end{align*} ある番号 −m で r−m=0 になる場合は, \[ R=a_{-1} k^{-1}+a_{-2} k^{-2}+\cdots +a_{-m} k^{-m} \] r−i=0 にならない場合は無限小数で, \[ R=a_{-1} k^{-1}+a_{-2} k^{-2}+\cdots +a_{-i} k^{-i}+\cdots \] となる。 したがって,非負の実数 x の小数部分 R を k 進法で表したときの各位は a−i になる。 \[ R=0.a_{-1} a_{-2}\cdots a_{-i}\cdots \]

最後のページです

1 2 3 4 5 6 7 Home

非負数の列で表す記数法

Home標準記数法符号付き数の列正数の列負の基数

2014.11.6 作成 / 2020.3.31 更新

Home › 標準的な記数法(非負数の列で表す記数法)