位取り記数法
今日の日本において通常使われているのは、 N が十である十進法であるが、コンピューターでは二進法、八進法、十六進法といった「二の冪数」進法が用いられている。用語としては、「十進法」など「N進法」は「N進位取り記数法」を意味する語ではあるが、記数法以外にも「N進(Nで桁上がりする)命数法」という意味や、単に「ある特定の単位から上の単位を作る、冪乗による規則」という意味でも使用される。一方で、「N進法」はほぼ「base-N positional system」「N進位取り記数法」の意味でしか使われない。
本項ではN が自然数の場合を扱う。それ以外の場合については広義の記数法の記事を参照のこと。また 後述するp進数の概念とは(関連があるものの)別概念であるので注意が必要である。
概要編集
位取り記数法(N進位取り記数法)では、まず基数(base。集合の基数(cardinal)とは異なる)となる自然数 N に対して、
0、1、・・・、N-1
の数値に対応する数字の記法を対応させる。
次に、
という数字列で表現する。(ただし、 、 はそれぞれの 0 から N-1 を示すいずれかの数字であり、 とする)
この数字列が、
という数値であることを表すものである[1]。
上記の数字列の先頭にマイナス符号「-」を付けることで負数を表現する。数字列の一つ一つの位置を位(くらい)または桁という[2]。
適用例編集
十進法編集
- 数列
十進法は最も身近な位取り記数法である。十進法では、十個の数字を用い、一桁にひとつの数字を容れて必要な桁数分を並べて数値を表す。
アラビア数字なら
0、1、2、3、4、5、6、7、8、9
の十個であり、 漢数字なら
〇、一、二、三、四、五、六、七、八、九
の十個である。以下、アラビア数字を例に説明するが、漢数字の場合も同様である。
十進法ではこれらの数字を列べる事で数を表現する。 例えば、312.02は、
を表す。
Nが十未満編集
例えば四進法をアラビア数字で表した場合、使う数字は
0、1、2、3
の四種類の記号であり、四進法における312.02は、
を表し、これは十進法の54.125にあたる。
注意すべき点は、同じ「312.02」でも四進法のものと十進法のものでは値が異なる。このため、位取り記数法の話をするときには、常に何進法の話であるのかを明示する必要がある。(後述)
Nが十を超過編集
十二進法、十六進法、二十進法のように、N が十より大きい場合は用いる数字は、アラビア数字だけでは足りなくなる。そこで、十以上の数を表記する「数字」として、ラテン文字のアルファベットの大文字を用いる事が多い。なお、漢数字を使う際には、アルファベット大文字に相当する十干を用いて、十を「甲」、十一を「乙」、十二を「丙」…と表記することになる[要出典]。
例えば十六進法であれば、「数字」として
0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
を用い、A、B、C、D、E、Fはそれぞれ十進法の自然数10、11、12、13、14、15に対応する。
従って例えば2F3.A7は
を表し、これは十進法の755.652344にあたる。
三十六進法:A=10, B=11, C=12, …, Z=35
基数の明記編集
同じ数字列であっても、基数が異なれば数値は異なる。そこで、どの基数における数であるかを明記するため、以下のような表記を行う。
- 312.024
或いは数字本体か下付きのどちらかを括弧で
- (312.02)4
- 312.02(4)
と表記する事もある。
If there is no radix written, then this is 十進法。
なお、Nが十以上である場合には、十以上の数字にアルファベット大文字を充てている事から、アルファベット大文字を用いた(In this situation, if there is no radix written, then this is 三十六進法)
とも表記できる。また、
というように十を「A」ではなく「10」、十二を「C」ではなく「12」というように十進表記の複数桁で表記する方も一般的である。
また、括弧書きではなく「N進法」という語を付ける場合には、前付きでも後付きのどれでも通じる。例えば、「十二進法の600」は、"duodecimal 600" や "dozenal 600"の前付きでも、"600 duodecimal" や "600 dozenal"の後付きの両方とも可能である。この場合、"duodecimal six zero zero"や"six zero zero dozenal"というように数字を棒読みする。
コンピューターで特に重要性の高い二進数、八進数、十進数、十二進数、十六進数には、固有の表記もある。ただし、コンピューター言語により表記方法が若干異なる場合もある。
可分性編集
en:Divisibility ruleといえば通常は整数の範囲で割り切れるかどうかを問う整除の問題であるが、以下では有限小数として割り切れるかどうかについて述べる。
単位分数の可分性は、N の約数にどれが含まれているかで決まるが、より明確には N を素因数分解した時にどの素因数が含まれているかで決まる。従って、単に約数が多いというだけではなく、約数が素因数分解した時にどんな数になるかも見なければならない。
不可分の例として:
「六進法は 1/5 も割り切れない」
「八進法は 1/3 も 1/5 も割り切れない」
「十進法は 1/3 が割り切れない」
「十二進法は 1/5 が割り切れない」
「十五進法は 1/2 も 1/4 も割り切れない」
「十六進法は 1/3 も 1/5 も割り切れない」
が挙げられる。これらの要因は、八や十六は奇数(3や5など)が約数に含まれていないから、九や十五は偶数(2や4など)が約数に含まれていないから、十には3が約数に含まれていないから、十二には5が約数に含まれていないからである。各数を素因数分解すると、八は23、十六は24、九は32、十五は3×5、十は2×5、十二は22×3となる。
具体的に見ると、四進法、八進法、十六進法は、Nの約数が2の冪数しか無いため、「2でしか割り切れない」。これらは「1/奇数」に変換できる小数が無く、1/3 や 1/5 といった奇数分割は不可能で、偶数でも 1/6{六分割。1÷(2×3)} や 1/A{十分割。1÷(2×5)}や 1/C{十二分割。1÷(22×3)}や 1/K{二十分割。1÷(22×5)}といった「1 ÷ (2p×奇数)」は割り切れない。同じく、九進法は、Nの約数が3しか無いため、「3でしか割り切れない」。こちらは「1/偶数」に変換できる小数が無く、1/2 や 1/4 や 1/6 といった偶数分割は不可能で、奇数でも因数が3だけでない限りは割り切れない。これら八進法や九進法や十六進法に共通する要素は、冪数進法で「素因数が一つだけ」である。
逆に、六進法は「2と3でしか割り切れない」、十進法は「2と5でしか割り切れない」が、可分性の基礎である素因数の数は、八進法や十六進法といった「二の冪数進法」を上回る。素因数分解すると、六は「2×3」、十は「2×5」と素因数を二つ持っているのに対して、八は「23」、十六は「24」で素因数が「2」だけしか無い。十六の約数である2, 4, 8は、全て2の冪数に過ぎない。小数を既約分数に変換すると、六進法はm/3、十進法はm/5の小数が現れるのに対して、八進法など「二の冪数進法」は「m/奇数」となる小数が現れないし、九進法は「三の冪数進法」なので「m/偶数」となる小数が現れない。
Nの平方数も、三十六である(100)6は4(=22)でも3でも9(=32)でも二十七(=33)でも割り切れる(※二十七分割は (100÷43 = 1.2)6 で有限小数となる)し、百である(100)10は4(=22)でも5でも二十五(=52)でも割り切れるのに対して、六十四である(100)8と二百五十六である(100)16は2の冪数でしか割り切れない。
従って、六進法、十進法、十二進法、二十進法などは、8がNの約数に含まれていないが、1÷8 は割り切れる。これは、8が23であり、Nが偶数なので2が約数に含まれているからである。また、六進法や十二進法は、9がNの約数に含まれていないが、1÷9 は割り切れる。これは、9が32であり、3がNの約数に含まれているからである。
このように、「約数の多さ」ではなく、「素因数の多さ」が可分性を広げるという事である。
小数 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 0.A | 0.B | 0.C |
---|---|---|---|---|---|---|---|---|---|---|---|---|
六進法 | 1/6 | 1/3 | 1/2 | 2/3 | 5/6 | 1 | 7/6 | 4/3 | 3/2 | 5/3 | B/6 | 2 |
八進法 | 1/8 | 2/4 | 3/8 | 1/2 | 5/8 | 3/4 | 7/8 | 1 | 9/8 | 5/4 | B/8 | 3/2 |
九進法 | 1/9 | 2/9 | 1/3 | 4/9 | 5/9 | 2/3 | 7/9 | 8/9 | 1 | A/9 | B/9 | 4/3 |
十進法 | 1/A | 1/5 | 3/A | 2/5 | 1/2 | 3/5 | 7/A | 4/5 | 9/A | 1 | B/A | 6/5 |
十二進法 | 1/C | 1/6 | 1/4 | 1/3 | 5/C | 1/2 | 7/C | 2/3 | 3/4 | 5/6 | B/C | 1 |
除数 | 除数の 素因数分解 |
六進法 | 八進法 | 九進法 | 十進法 | 十二進法 | 十五進法 | 十六進法 | 二十進法 |
---|---|---|---|---|---|---|---|---|---|
1 ÷ 2 | 素数 | 0.3 | 0.4 | 0.4444… | 0.5 | 0.6 | 0.7777… | 0.8 | 0.A |
1 ÷ 3 | 素数 | 0.2 | 0.2525… | 0.3 | 0.3333… | 0.4 | 0.5 | 0.5555… | 0.6D6D… |
1 ÷ 4 | 22 | 0.13 | 0.2 | 0.2222… | 0.25 | 0.3 | 0.3B3B… | 0.4 | 0.5 |
1 ÷ 5 | 素数 | 0.1111… | 0.1463… | 0.1717… | 0.2 | 0.2497… | 0.3 | 0.3333… | 0.4 |
1 ÷ 6 | 2×3 | 0.1 (1÷106) |
0.12525… | 0.1444… | 0.1666… | 0.2 | 0.2777… | 0.2AAA… | 0.36D6D… |
1 ÷ 7 | 素数 | 0.0505… (1÷116) |
0.1111… | 0.125… | 0.142857… | 0.186A35… | 0.2222… | 0.249… | 0.2H2H… |
1 ÷ 8 | 23 | 0.043 (1÷126) |
0.1 (1÷108) |
0.1111… | 0.125 | 0.16 | 0.1D1D… | 0.2 | 0.2A |
1 ÷ 9 | 32 | 0.04 (1÷136) |
0.0707… (1÷118) |
0.1 (1÷109) |
0.1111… | 0.14 | 0.1A | 0.1C7… | 0.248HFB… |
1 ÷ A | 2×5 | 0.0333… (1÷146) |
0.06314… (1÷128) |
0.0808… (1÷119) |
0.1 (1÷10A) |
0.12497… | 0.1777… | 0.1999… | 0.2 |
※ 割り切れない小数の循環節は下線で示す。
「素因数が一つだけ」と「素因数が複数」の逆数も、以下のように異なる。「2の冪数」進法の小数は、「素因数が複数」のN進法に換算すると、小数の末尾は奇数か単偶数になる。奇数進法の小数は、「素因数が2と奇数」のN進法に換算すると、小数の末尾は偶数になる。なお、2と3の冪数の関係を判り易くするため、分子・分母の換算値や冪数は六進数で表記し、十進数を下付き(A)で副記する。
N進法 | Nの素因数分解 | 小数の表記 | 分子の数値 | 分母の数値 | 分子の素因数分解 | 分母の素因数分解 |
---|---|---|---|---|---|---|
十六進法 | 24 | 0.01 | 1 | 1104 256(A) |
- | 212 (28)(A) |
六進法 | 2×3 | 0.00050213 | 50213 6561(A) |
100000000 1679616(A) |
312 (38)(A) |
212×312 (28×38)(A) |
十進法 | 2×5 | 0.00390625 | 12212241 390625(A) |
13531202544 100000000(A) |
512 (58)(A) |
212×512 (28×58)(A) |
N進法 | Nの素因数分解 | 小数の表記 | 分子の数値 | 分母の数値 | 分子の素因数分解 | 分母の素因数分解 |
---|---|---|---|---|---|---|
九進法 | 32 | 0.0001 | 1 | 50213 6561(A) |
- | 312 (38)(A) |
六進法 | 2×3 | 0.00001104 | 1104 256(A) |
100000000 1679616(A) |
212 (28)(A) |
212×312 (28×38)(A) |
十二進法 | 22×3 | 0.00031B14 | 1223224 65536(A) |
110400000000 429981696(A) |
224 (216)(A) |
224×312 (216×38)(A) |
表記の一意性に関して編集
この節では特に断りがない限り十進数について述べるが、他の基数についても同様である。
実数の N 進表記は一意ではない。
よく知られているように、
- 1=1.000…=0.999…
である。また、以下のように、上位桁に不要な0を付け加えることもできる。
- 0013=13
通常は「0013」のような表記は許さないとする事が多いが、コンピューターなどでは、最大で4桁の整数値であることを示すため、あえて「0013」のような表記をする場合がある。
以上のような例を除くと0以外の実数は一意に表現できる。
しかし、0のみは
- 「+0」、「-0」
の二通りの表記が可能である(いわゆる負のゼロの問題)。これが原因で、コンピューター・プログラムでは0のみ例外処理を求められる場合がある。
また、一般には0は1桁の数とされているが、ルールを優先し1桁の数と認めない場合もある(覆面算#ルール)。
表計算ソフトの列名などで用いられている、A, B, ..., Z, AA, AB, ... のような形式は、位取り記数法の一種と考えることができ、かつ0より大きい整数を一意に表せる。(en:Bijective numeration)
底の変換アルゴリズム編集
与えられた非負整数 T を、記号 を数字として用いた N 進表記
で表すには、以下のアルゴリズムを用いればよい。
なお、このアルゴリズムは、 M ≠ NによりM 進表記されている T を N 進表記に書き換えるときに使われる事が多いので、このアルゴリズムを底の変換アルゴリズムと呼ぶ。
- 入力T を受け取る。
- T=0 なら を出力して停止。
- iを0に初期化
- while(T≠0){
- T を N で割った商を T' 、余りを k とし、 とする。
- T ←T'、i←i+1
- }
- r←i-1
- を出力
なお、T >0に対しては等式
が知られている(なお、添え字を0から始めているので、T の桁数はr +1) 。ここで は床関数である。
底の変換例編集
- 十進法→五進法への変換
十進法の 5213 を五進法に置き換える場合、5で割っていき、商が5未満になった時点で止める。余り無しの場合は 0 を明記する。商が5未満になったら、最後の商を先頭にして、最初の余りを末尾にして列べる。
- 5213 ÷ 5 = 1042 余り 3
- 1042 ÷ 5 = 208 余り 2
- 208 ÷ 5 = 41 余り 3
- 41 ÷ 5 = 8 余り 1
- 8 ÷ 5 = 1 余り 3
- 1 ÷ 5 = 0 余り 1
から、5213 = 3 + 2 × 5 + 3 × 52 + 1 × 53 + 3 × 54 + 1 × 55 となるので、五進表記では 131323 と表すことができる。また、55 = 3125, 56 = 15625 であるから、55 ≤ 5213 < 56 が成り立っているので、対数を取ると
となり、
が分かる。
- 十進法以外→十進法以外への変換
十進法以外のN進法も同様で、例えば38に当たる六進法の 50213 を十六進法に置き換える場合も、商が24(6) = 10(G) を下回るまで24で割っていく。
- 50213 ÷ 24 = 1522 余り 1
- 1522 ÷ 24 = 41 余り 14
- 42 ÷ 24 = 1 余り 13
以上より、1, 13, 14, 1の列になり、13(6) = 9(G)、14(6) = A(G) なので、十六進法では 19A1 となる。
- 同値の整数
二百七十の表記は、以下の通りになる。(便宜上、計算式を十進法で表記する)
- 二進法 (100001110)2 : 270 = 256 + 14 = 28 + 23 + 22 + 21
- 三進法 (101000)3 : 270 = 243 + 27 = 35 + 33
- 四進法 (10032)4 : 270 = 256 + 14 = 1×44 + 3×41 + 2
- 五進法 (2040)5 : 270 = 250 + 20 = 2×53 + 4×51
- 六進法 (1130)6 : 270 = 216 + 54 = 1×63 + 1×62 + 3×61
- 八進法 (416)8 : 270 = 256 + 14 = 4×82 + 1×81 + 6
- 九進法 (330)9 : 270 = 243 + 27 = 3×92 + 3×91
- 十進法 (270)10 : 270 = 200 + 70 = 2×102 + 7×101
- 十二進法 (1A6)12 : 270 = 144 + 126 = 1×122 + 10×121 + 6
- 十六進法 (10E)16 : 270 = 256 + 14 = 1×161 + 0×161 + 14
- 十八進法 (F0)18 : 270 = 270 + 0 = 15×181
- 二十進法 (DA)20 : 270 = 260 + 10 = 13×201 + 10
- 二十四進法 (B6)24 : 270 = 264 + 6 = 11×241 + 6
- 意味する数
整数「234」の意味する数は、以下の通りになる。(便宜上、計算式を十進法で表記する)
- 六進法 (234)6 : (94)10 = 72 + 18 + 4 = 2×62 + 3×61 + 4
- 八進法 (234)8 : (156)10 = 128 + 24 + 4 = 2×82 + 3×81 + 4
- 九進法 (234)9 : (193)10 = 162 + 27 + 4 = 2×92 + 3×91 + 4
- 十進法 (234)10 : (234)10 = 200 + 30 + 4 = 2×102 + 3×101 + 4
- 十二進法 (234)12 : (328)10 = 288 + 36 + 4 = 2×122 + 3×121 + 4
- 十六進法 (234)16 : (564)10 = 512 + 48 + 4 = 2×162 + 3×161 + 4
- 十八進法 (234)18 : (706)10 = 648 + 54 + 4 = 2×182 + 3×181 + 4
- 二十進法 (234)20 : (864)10 = 800 + 60 + 4 = 2×202 + 3×201 + 4
- 二十四進法 (234)24 : (1228)10 = 1152 + 72 + 4 = 2×242 + 3×241 + 4
小数「0.5」の意味する数は、以下の通りになる。(便宜上、計算式を十進法で表記する)
- 六進法 (0.5)6 : (5/6)10 = 十進法で 0.8333…
- 八進法 (0.5)8 : (5/8)10 = 十進法で 0.625
- 九進法 (0.5)9 : (5/9)10 = 十進法で 0.5555…
- 十進法 (0.5)10 : (5/10)10 = 1/2
- 十二進法 (0.5)12 : (5/12)10 = 十進法で 0.41666…
- 十六進法 (0.5)16 : (5/16)10 = 十進法で 0.3125
- 十八進法 (0.5)18 : (5/18)10 = 十進法で 0.2777…
- 二十進法 (0.5)20 : (5/20)10 = 1/4 = 十進法で 0.25
- 二十四進法 (0,5)24 : (5/24)10 = 十進法で 0.208333…
- 四則計算を含めた変換
上記の通り、十二進法の 500 は七百二十であり、十進法では 720 と表記される。従って、十二進法の"500 ÷ 14 = 39"は、以下のように変換される。
- 十二進法 : (500)12 ÷ (14)12 = (39)12
- 六進法に換算 : (3200)6 ÷ (24)6 = (113)6
- 十進法に換算 : (720)10 ÷ (16)10 = (45)10
- 十六進法に換算 : (2D0)16 ÷ (10)16 = (2D)16
- 十八進法に換算 : (240)18 ÷ (G)18 = (29)18
- 二十進法に換算 : (1G0)20 ÷ (G)20 = (25)20
“1034 ÷ 11”の商も、以下のようになる。
- 六進法 (1034)6 ÷ (11)6 = {1×63 + 0×62 + 3×61 + 4} ÷ {1×6 + 1} = (54)6
- 十進法に換算:238 ÷ 7 = 34
- 十進法 (1034)10 ÷ (11)10 = {1×103 + 0×102 + 3×101 + 4} ÷ {1×10 + 1} = (94)10
- 十二進法 (1034)12 ÷ (11)12 = {1×123 + 0×122 +3×121 + 4} ÷ {1×12 + 1} = (B4)12
- 十進法に換算:1768 ÷ 13 = 136
- 二十進法 (1034)20 ÷ (11)20 = {1×203 + 0×202 + 3×201 + 4} ÷ {1×20 + 1} = (J4)20
- 十進法に換算:8064 ÷ 21 = 384
- 同値の小数への変換
小数を別のN進法に変換する場合には、以下の経過を践む。
- 変換前と変換後の冪数を列挙する。
- 小数点以下の元の桁数に合わせて、冪数を掛ける。
- 端数処理をする。
- 整数と同じく、冪数を掛けた結果を、変換後のNで割っていく。
- 変換後のNで割った結果を最後の商→最初の余りの順に列挙する。この列が同値の小数となる。
(例)十進数0.531441 → 十二進数六桁
- 十進数 1000000 → 2985984(十の六乗→十二の六乗)
- 531441×2.985984 = 1586874.322944
- 1586874.322944 → 1586874
- 1586874÷12 = 132239 余り6
- 132239÷12 = 11019 余り11
- 11019÷12 = 918 余り3
- 918÷12 = 76 余り6
- 76÷12 = 6 余り4
- 11(A) = B(C) なので、6463B6(C) を列べる。
以上より、十進数0.531441 は、十二進数では約0.6463B6 となる。
(例)十進数0.124053 → 六進数九桁
- 十進数 1000000 → 10077696(十の六乗→六の九乗)
- 124053×10.077696 = 1250168.42189
- 変換前の小数が六桁なので、乗数も小数点以下を六桁にする。
- 1250168.42189 → 1250168
- 1250168÷6 = 208361 余り2
- 208361÷6 = 34726 余り5
- 34726÷6 = 5787 余り4
- 5787÷6 = 964 余り3
- 964÷6 = 160 余り4
- 160÷6 = 26 余り4
- 26÷6 = 4 余り2
- 42443452(6)を列べる。分母が 10077696(A) = 1000000000(6) なので、小数点以下は9桁になり、先頭に0が1つ加わる。
よって、十進数0.124053 は、六進数では約0.042443452 となる。
- 同値の小数
十進法の小数 0.625 は、六進法では 0.343 となり、十二進法では 0.76 となり、二十進法では 0.CA となる。いずれも分数に換算すると十進法の 5/8 となる小数であるが、計算式は以下の通りになる。
- 六進法 (0.343)6 = (343/1000)6 = 3×6-1 + 4×6-2 + 3×6-3 = (135/216)10 = (5/8)10
- 十進法 (0.625)10 = (625/1000)10 = 6×10-1 + 2×10-2 + 5×10-3 = (625/1000)10 =(5/8)10
- 十二進法 (0.76)12 = (76/100)12 = 7×12-1 + 6×12-2 = (90/144)10 = (5/8)10
- 二十進法 (0.CA)20 = (CA/100)20 = 12×20-1 + 10×20-2 = (250/400)10 = (5/8)10
六進法の小数 0.332 は、十二進法では 0.714 となる。分数に換算すると十進法の 16/27(= 24/33)となる小数であるが、こちらの計算式は以下の通りになる。
- 六進法 (0.332)6 = (332/1000)6 = 3×6-1 + 3×6-2 + 2×6-3 = (128/216)10 = (16/27)10
- 十二進法 (0.714)12 = (714/1000)12 = 7×12-1 + 1×12-2 + 4×12-3 = (1024/1728)10 = (16/27)10
十進法の小数 0.36 は、二十進法では 0.74 となる。分数に換算すると十進法の 9/25(= 32/52)となる小数であるが、こちらの計算式は以下の通りになる。
- 十進法 (0.36)10 = (36/100)10 = 3×10-1 + 6×10-2 = (36/100)10 = (9/25)10
- 二十進法 (0.74)20 = (74/100)20 = 7×20-1 + 4×20-2 = (144/400)10 = (9/25)10
複数の基数の混在編集
十進法では、機械的に十倍、百倍、千倍、一万倍…の順で増える。同じく、十二進法では、機械的に十二倍、百四十四倍、千七百二十八倍、二万七百三十六倍…の順で増える。
しかし、底を2つに分ける場合がある。十進法に対して、二・五進法(十が五進命数法で「二五」なので、区別するため二と五の間に点が必要)では二と五の2つの底があるので、桁が上がる度に五倍→二倍→五倍→二倍…と交互になり、「十の冪数」と「十の冪数の五倍」が交互に現れる。これはそろばんと同じく一桁が「一の位」4つと「五の位」1つで構成される方法だが、計算機にも応用されている。
時間:
秒、六十進法、分、六十進法、時、二十四進法、日、三十進法、月、十二進法、年、十進法、十年紀、十進法、世紀、十進法、千年紀
バビロニアの六十進法もそろばんに似た方法で、一桁が「一の位」9つと「十の位」5つで構成されており、整数は十倍→六倍→十倍→六倍と交互になり、小数は六分の一→十分の一→六分の一→十分の一と交互になる。この方法では、整数第二位は「六十の位」と「六百の位」に分かれ、整数第三位は「三千六百の位」と「三万六千の位」に分かれ、小数第一位は「六分の一の位」と「六十分の一の位」に分かれ、小数第二位は「三百六十分の一の位」と「三千六百分の一の位」に分かれている。
これら二・五進法や六十進法のように複数の底が設定されている場合には、" : " などの区切り符号を付ける。例えば、六十進法で十進法を補助とする場合には、58 → 59 → 1:00 → 1:01 → 1:02 …の順に数列が進む。
日本の通貨(硬貨と紙幣)には、昇順で一円→五円→十円→五十円→百円→五百円→千円→五千円→一万円があるので、通貨を一つの単位と見れば、これは前述の二・五進法である。この配列を見ると、一(100)、十(101)、百(102)、千(103)、一万(104)が十の冪数であり、五、五十、五百、五千が「十の冪数の五倍」である。
英語表記編集
「基数 N 」を英語で、base N という。特定のNに関しては倍数接頭辞を基に名称がついているが、名称の付け方は不規則である。通常、接尾辞が -ary である語は、ラテン語の -arius (~の、~に関する) に由来して、「N 個一組」「N を単位とする」「N 個から成る」を意味する語である。一方、接尾辞が -imal である語は、ラテン語の -imus に由来して、「第 N」「N 分の一」を意味する語である。
以下は「基数 N 」、もしくはより明解に「N 個一組」「N を単位とする」「N 個から成る」という意味の形容詞である。
- 二:binary
- 三:ternary
- 四:quaternary
- 五:quinary
- 六:senary
- 七:septenary
- 八:octonary, octal
- 九:nonary
- 十:denary, decimal
- 十二:duodenary, duodecimal
- 十五:quindenary, quindecimal, pentadecimal
- 十六:sedenary, sedecimal, hexadecimal
- 十八:octodenary, octodecimal
- 二十:vicenary, vigesimal
- 二十四:tetravicenray, tetravigesimal
- 三十:tricenary, trigesimal
- 三十二:duoreicenary, duoreigesimal
- 三十六:hexatrecenary, hexatrigesimal
- 六十:sexagenary, sexagesimal
これらを使い、a base-two numberで「二進数」、the base-two numeral systemで「二進法」を表す名詞となる。 同様にa binary number、the binary numeral systemでもそれぞれ「二進数」、「二進法」を表す名詞となる。他の基数も同様。
p進数編集
N 進表記と関連が深い概念として、素数 p 毎に定まる p 進数というものもある。 名称は本稿で解説しているN 進表記の別名であるN 進数と同一であるものの、別概念ではある。ただし両者は非常に関連があり、整数の p進表記を(可算)無限桁の自然数の範囲に拡張したものが p進整数で、さらにそこに有限桁の小数部分を許したものが p進数である。ただし「無限桁の整数」(の一部は有理数として再解釈できるもののほとんど)は本稿で扱う普通の数(実数)とは異なる。
脚注編集
- ^ 青木和彦・上野健爾他『岩波数学入門辞典』岩波書店、2005年、ISBN 4-00-080209-7、pp.46、125-126
- ^ 山田忠雄主幹『新明解国語辞典 第六版』三省堂、2005年、ISBN 4-385-13105-8、p.417
参考文献編集
関連項目編集
- 総合
- 広義の記数法
- コンピュータの数値表現、エンディアン
- 命数法
- キリバン
- 倍数接頭辞:英語で記数法の底となるNを表すdecimal(十進法)、binary(二進法)などの接頭辞deci-、bi-などに関する項目
- 通常のN進法
- 二進法 (binary)
- 三進法 (ternary)
- 四進法 (quaternary)
- 五進法 (quinary)
- 六進法 (senary)
- 七進法 (septenary)
- 八進法 (octal)
- 九進法 (nonary)
- 十進法 (decimal)
- 十一進法 (undecimal)
- 十二進法 (duodecimal, dozenal)
- 十三進法 (tridecimal)
- 十五進法 (quindecimal)
- 十六進法 (hexadecimal)
- 十八進法 (octodecimal)
- 二十進法 (vigesimal)
- 二十四進法
- 三十進法 (trigesimal)
- 三十二進法
- 三十六進法
- 六十進法 (sexagesimal)
- 特殊なN進法
- 一進法(桁上がりが無い)
- 二五進法(にごしんほう、二十五進法ではない。桁上がりが複数段階)
- 二進化十進表現
- 六十進法:sexagesimal(桁上がりが複数段階)
- E進法
- 黄金進法
- 六十四進法:Base64
- 八十五進法:Ascii85
- 階乗進法
- 平衡三進法
- 全単射進法(英語: Bijective numeration)
- 負数進法(英語: Negative base)
- 2i進法(英語: Quater-imaginary base)
- その他