二十進法
二十進法(にじっしんほう、vigesimal)は、20 を底(てい)とし、底およびその冪を基準にして数を表す方法である。
二十進記数法は、二十を底とする位取り記数法である。二十進法の位取りでは、通常では 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G, H, I, J の計二十個の数字を用い、十から十九までを A から J までに充てて、二十を 10 、二十一を 11 と表記する。なお、B と 8 、I と 1 が紛らわしいことを理由に、B や I を飛ばして、十一を C と表記したり、十八を J や K と表記したりする例もある。
数字の意味する数は、左に一桁ずれると 20倍になり、右に一桁ずれると 1/20 になる。例えば、(14)20 という表記において、左の「1」は二十を表し、右の「4」は四を表し、合わせて「二十四」を意味する。桁の表示は、整数第二位は「二十の位」、整数第三位は「四百の位」となる。
本節では慣用に従い、通常のアラビア数字は十進数とし、二十進記数法の表記は括弧および下付の 20 で表す。必要に応じて、十進記数法の表記を括弧および下付の 10 で表す。二十進記数法で表された数を二十進数と呼ぶ。
二十進法は「4×5=10」となるので、数列は、4の倍数や5の倍数が進みやすいという傾向を持つ。従って、4で割り切れる十二進法(4×3=10)や、5で割り切れる十進法(2×5=10)との親和性が見られる。素因数は十進法と同じく2と5であるが、「4×奇数」で桁上がりする構造は十二進法と同じである。
また、7以降の素数は、一の位が 1, 3, 7, 9, B, D, H, J の八つの中のいずれか、即ち 5 と F を除く奇数になる。例えば:
十進法の23 → 二十進法では13
十進法の31 → 二十進法では1B
十進法の53 → 二十進法では2D
十進法の97 → 二十進法では4H
十進法の139 → 二十進法では6J
となる。
二十進表記の整数は:
(17)20 = 27 (1×201 + 7)
(20)20 = 40 (2×201)
(2H)20 = 57 (2×201 + 17)
(3C)20 = 72 (3×201 + 12)
(4F)20 = 95 (4×201 + 15)
(74)20 = 144 (7×201 + 4)
(88)20 = 168 (8×201 + 8)
(DA)20 = 270 (13×201 + 10)
(100)20 = 400 (1×202)
(22F)20 = 855 (2×202 + 2×201 + 15)
(34F)20 = 1295 (3×202 + 4×201 + 15)
(468)20 = 1728 (4×202 + 6×201 + 8)
(4J9)20 = 1989 (4×202 + 19×201 + 9)
(50G)20 = 2016 (5×202 + 0×201 + 16)
(D2A)20 = 5250 (13×202 + 2×201 + 10)
(1000)20 = 8000 (1×203)
(2340)20 = 17280 (2×203 + 3×202 + 4×201)
(2BGG)20 = 20736 (2×203 + 11×202 + 16×201 + 16)
(4GHA)20 = 38750 (4×203 + 16×202 + 17×201 + 10)
(EBD7)20 = 116667 (14×203 + 11×202 + 13×201 + 7)
(10000)20 = 160000 (1×204)
を、それぞれ意味する。
様々なN進法における整数の四則演算は、二十進法では以下のようになる。
六進法→二十進法
六進法の 5555 + 1 = 10000 → 二十進法では 34F + 1 = 34G (十進法では 1295 + 1 = 1296)
六進法の 13000 - 112 = 12444 → 二十進法では 4H4 - 24 = 4F0 (十進法では 1944 - 44 = 1900)
六進法の 430 × 23 = 15130 → 二十進法では 82 × F =  61A (十進法では 162 × 15 = 2430)
六進法の 24000 ÷ 3 = 5200 → 二十進法では 8CG ÷ 3 = 2HC (十進法では 3456 ÷ 3 = 1152)
十進法→二十進法
十進法の 95 + 15 = 110 → 二十進法では 4F + F = 5A
十進法の 2016 - 27 = 1989 → 二十進法では 50G - 17 = 4J9
十進法の 72 × 28 = 2016 → 二十進法では 3C × 18 = 50G
十進法の 1728 × 10 = 17280 → 二十進法では 468 × A = 2340
十進法の 400 ÷ 4 = 100 → 二十進法では 100 ÷ 4 = 50
十進法の 2016 ÷ 12 = 168 → 二十進法では 50G ÷ C = 88
十二進法→二十進法
十二進法の 103 = 1000 → 二十進法では C3 = 468
十二進法の 49 + 9 = 56 → 二十進法では 2H + 9 = 36 (十進法では 57 + 9 = 66)
十二進法の 1200 + 70 = 1270 → 二十進法では 50G + 44 = 550 (十進法では 2016 + 84 = 2100)
十二進法の 10000 - 100 = BB00 → 二十進法では 2BGG - 74 = 2B9C (十進法では 20736 - 144 = 20592)
十二進法の 1140 × 9 = A000 → 二十進法では 4G0 × 9 = 2340 (十進法では 1920 × 9 = 17280)
十二進法の 3056 ÷ 19 = 18A → 二十進法では D2A ÷ 11 = CA (十進法では 5250 ÷ 21 = 250)
二十進法と十進法が決定的に異なる点は、「10÷4 = 5」「5の3倍がF」「十進法の110が5A」という点である。二十進法では百は「50」と表記され、十二進法で「30」と表記される三十六と同等の扱いになる。二十進法での「4F+F = 5A」の構図も、十二進法での「49+9 = 56」と同じ構図になる。
マヤ文明では、二十進法の数詞に合わせて二十進記数法が用いられていた。マヤの数詞は五進法を補助的に含んでおり、数字にもそれが反映されている。貝殻で零、点で一、横棒で五を表し、二十に至ると桁を繰り上げる。桁は、大きい方が上で、小さい方が下となる。例えば、二十は貝殻の上に点一個で表記され、七十二は上に「三」(点三個)と下に「十二」(横棒二個の上に点二個)で表記され、二千十六は上段が「五」(横棒一個)と中段が「零」(貝殻)と下段が「十六」(横棒三個の上に点一個)で構成され、八千百六は最上段が「一」(点一個)、上から二段目が「零」(貝殻)、上から三段目が「五」(横棒一個)、最下段が「六」(横棒一個の上に点一個)で表記される。
この外には、イヌイット数字(Kaktovik Inupiaq numerals)も二十進法を用いており、結び目模様が「零」、縦楔が「一」、横楔が「五」を表しており、一桁は二段構成となる。この表記法では、＼が「一」、Vが「二」、Wが「四」、>が「十」、">"と"V"で「十二」となり、二十は「上段が"＼"で下段が"結び目模様"」として表記される。二十以後も、二階が「">"と"V"」で一階が「W」であれば二百四十四 {(C4)20=(244)10} を意味する。
二十進数で表記した二十の累乗数と、それを十二進数(底が四の三倍)、十進数(底が二の五倍)、六進数(底が二の三倍)に換算した数値を掲載する。万や億との対比を判りやすくするため、桁は四つごとに区切る。
二十進法は底が四の五倍であり、「少ない桁で最大限を確保する」という性質から、大きな数の表記に度々用いられてきた。それ故に、二十進法は桁の繰り上がりが遅く、これが長所にも短所にもなっている。よって、「五の次で桁上がり」「少ない数字で楽に済ませる」の六進法とは長短が逆転する。例えば、六進法は三分割や九分割は可能だが、一桁での四分割と五分割はできず、数字の種類が少ない代わりに桁数が多くなる。逆に、二十進法は三分割や九分割ができないが、一桁で四分割と五分割が可能であり、数字の種類が多い代わりに桁数が少なくなる。六未満 {(2×3)-1 = 5} の数による矩形数で形成されるN進法は、六進法(2×3)、十二進法(3×4)、二十進法(4×5)の三つであり、二十進法が最大である。
複数の素因数を持つN進法の中で、二十進法の桁の繰り上がりは、三乗レベルで十二進法より五倍遅く、十進法より八倍遅く、六進法より四十倍遅い {11C0(20) = 5000(12) = 8640(10) = 104000(6)} 。四乗レベルでは十二進法より八倍遅く、十進法より十六倍遅い {10EE8(20) = 80000(12) = 165888(10)} 。億レベルで二十の累乗数は、(6400万)10 に当たる (106)20 が最も近い。
累乗数の接近では、十二の累乗数と二十の累乗数が (300万)10前後で最も接近し、十二の六乗と二十の五乗が最も接近する {1000000(12) = ID4J4(20) = 2985984(10) , 10A3A28(12) = 100000(20) = 3200000(10)} 。この他には、六の五乗、二十の三乗、十の四乗の三つが 1000(20)(= 8000(10) = 101012(6)})前後で最も接近する {100000(6) = J8G(20) = 7776(10) , 114144(6) = 1500(20) = 10000(10)} 。
小数部分を他のN進数から二十進数に換算する場合には、整数部分はそのまま二十進数に変換し、小数部分は二十の累乗数を他のN進数に換算した数値を掛ける。
六進数→二十進数
(例)六進数 1405.1241513(太陽年)
整数:1405(6) = I5(20)(十進換算値は365)
小数の分母:10000000(6) → 3232424(6)(二十進換算値:1EJGG(20) → 10000(20)、十進換算値:279936 → 160000)
1241513 × 0.3232424 = 455222.0000000 → 455222(6)
455222(6) = 4GHA(20)(十進換算値は38750)
よって、1405.1241513(6) = I5.4GHA(20) となる。
十進数→二十進数
(例)十進数 3.14159265(円周率)
小数の分母:100000000(10) → 64000000(10)(二十進換算値:1B50000(20) → 1000000(20))
14159265 × 0.64000000 = 9061929.6 → 9061929(10)
9061929(10) = 2GCEG9(20)
よって、3.14159265(10) ≒ 3.2GCEG9(20) となる。
十二進数→二十進数
(例)十二進数 2A.639(倍率、細分値)
整数:2A(12) = 1E(20)(十進換算値は34)
小数の分母:1000(12) → 4768(12)(二十進換算値:468(20) → 1000(20)、十進換算値:1728 → 8000)
639 × 4.768 = 2528.4 → 2528(12)
2528(12) = AA8(20)
よって、2A.639(12) ≒ 1E.AA8(20) となる。
十六進数→二十進数
(例)十六進数 AB.89(倍率、細分値)
整数:AB(16) = 8B(20)(十進換算値は171)
小数の分母:100(16) → 27100(16)(二十進換算値:CG(20) → 10000(20)、十進換算値:256 → 160000)
89 × 271 = 14E79 → 14E79(16)
14E79(16) = AE15(20)
よって、AB.89(16) = 8B.AE15(20) となる。
桁が一つ動く度に数が20倍変わるため、小数第一位は「二十分の一の位」、小数第二位は「四百分の一の位」となる。従って、二十進法の小数では:
(0.1)20 = 1/20 (1×20-1)
(0.5)20 = 5/20 (5×20-1)
(0.G)20 = 16/20 (16×20-1)
(0.01)20 = 1/400 (1×20-2)
(0.0C)20 = 12/400 (12×20-2)
(0.7A)20 = 150/400 (7×20-1 + 10×20-2)
(0.CF)20 = 255/400 (12×20-1 + 15×20-2)
(0.001)20 = 1/8000 (1×20-3)
を、それぞれ意味する。
小数数の (22.F)20 は「855/20」を意味し、小数の (2.2F)20は「855/400」という意味になる。従って、十進数の 42.75 は二十進数では (22.F)20 となり、十進数の 2.1375 は二十進数では (2.2F)20となる。前者は 42 + 75/100 (= 3/4) と 42 + 15/20 (= 3/4) が同値となり、後者は 2 + 1375/10000 (= 1375/104 = 11/80) と 2 + 55/400 (= 55/202 = 11/80) が同値になるからである。
(22F)20 = 2×202 + 2×201 + 15 = (855)10
(22.F)20 = 2×201 + 2 + 15×20-1 = 42 + 15/20 = 855/20 = (42.75)10
(2.2F)20 = 2 + 2×20-1 + 15×20-2 = 2 + 40/400 + 15/400 = 855/400 = (2.1375)10
同じく、(25)20 は (45)10 を意味し、(2.5)20 は「45/20」、即ち (2.25)10 という意味になる。
(250)20 = 2×202 + 5×201 = (900)10
(25)20 = 2×201 + 5 = (45)10
(2.5)20 = 2 + 5×20-1 = 45/20 = (2.25)10
(0.25)20 = 2×20-1 + 5×20-2 = 40/400 + 5/400 = 45/400 = (0.1125)10
二十進数の (22.F)20÷(J)20 の商は (2.5)20 となるが、十進数では以下に相当する。
(数式A)二十進数:(22.F)20÷(J)20 = (2.5)20
(数式A)十進数:42.75÷19 = 2.25
(数式B)二十進数:(22F)20÷(J)20 = (25)20
(数式B)十進数:855÷19 = 45
六や十二の累乗数、例えば十二進法の100(12)(=144(10))や六進法の1000(6)(=216(10))や、二の累乗数進法による累乗数、例えば十六進法の100(16)(=256(10))などは、5で割り切れないが、二十進法では割り切れる(十進法も同様)。特に、六進表記や十二進表記による六や十二の累乗数は、三や九で割り切れる一方、五や十五で割り切れないが、二十進表記では五や十五で割り切れる。
1/5グロス(十進換算:144 ÷ 5)
十二進法:(100)12 ÷ 5 = 24.9724…
二十進法:(74)20 ÷ 5 = (18.G)20
1大グロス ÷ 十五(十進換算:1728 ÷ 15)
十二進法:(1000)12 ÷ (13)12 = 97.2497…
二十進法:(468)20 ÷ (F)20 = (5F.4)20
28 ÷ 5(十進換算:256 ÷ 5)
十六進法:(100)16 ÷ 5 = 33.3333…
二十進法:(CG)20 ÷ 5 = (2B.4)20
65 ÷ 十五(十進換算:7776 ÷ 15)
六進法:(100000)6 ÷ (23)6 = 2222.2222…
二十進法:(J8G)20 ÷ (F)20 = (15I.8)20
また、素因数が2と5なので、冪数以外でも、5が因数に含まれない数が被除数になると、割り切れる場合がある。
(36×B) ÷ (32×5)(十進法換算で 8019 ÷ 45)
六進法:(101043)6 ÷ (113)6 = 454.1111…
九進法:(12000)9 ÷ (50)9 = 217.1717…
二十進法:(100J)20 ÷ (25)20 = (8I.4)20
二十進法では (0.1)20 が「二十分の一」になるため、(0.4)20 は 1/5 になり、(0.5)20 は 1/4 になり、(0.A)20(十進法で10/20)は 1/2 になる。より派生して、(0.F)10(十進法で15/20)は 3/4 に、(0.8)20は 2/5 に、(0.C)20(十進法で12/20)は 3/5 に、(0.G)10(十進法で16/20)は 4/5 になる。
従って、ある数に (0.4)20 を掛けると1/5になり、(0.5)20を掛けると1/4になり、(0.C)20を掛けると3/5になり、(0.F)20 を掛けると3/4になる。このように、二十進法では、一桁小数で四分割と五分割が可能である(ただし、三分割はできない)。
「半分」を意味する表現も、十進法での「五分五分」は、二十進法では「十分十分」となる。割分厘も、十進法の「2割5分」は「0.5」「5割」となり、十進法で3/8を意味する「3割7分5厘」は「0.7A」「(7割10分)10」「7割A分」で小数第二位に収まる。その他にも、四分割では「5:F」というように「1/4:3/4」、長袖と半袖の中間である3/4の袖を「十五分袖」(ABCと同じく十干を用いるなら「戊分袖」);五分割では「8:C」が「2/5:3/5」、「4:G」が「1/5:4/5」といった対比や、「四公六民」を「八公十二民」または「八公乙民」(十干を用いる場合)といった対比も可能になる。
別のN進法と互換できる一桁小数として、二十進法の0.5は、十二進法の0.3と同値になる(両方とも1/4が奇数)。同じく、二十進法の0.4は、十進法の0.2と同じ値になる(両方とも1/5)。
(I0)20(十進法の360、十二進法の260)を例に挙げる。
4と0.4、8と0.8で対比
除算:(I0)20 ÷ (5)20 = (3C)20(十進法:360 ÷ 5 = 72。十二進法:260 ÷ 5 = 60)
一桁小数を掛ける:(I0)20 × (0.4)20 = (3C)20(十進法:360の 1/5 は72。十二進法:260の 1/5 は60)
一桁小数を掛ける:(I0)20 × (0.8)20 = (74)20(十進法:360の 2/5 は144。十二進法:260の 2/5 は100)
一桁整数を掛ける:(I)20 × (4)20 = (3C)20(十進法:18×4 = 72。十二進法:16×4 = 60)
一桁整数を掛ける:(I)20 × (8)20 = (74)20(十進法:18×8 = 144。十二進法:16×8 = 100)
除算:(I0)20 ÷ (4)20 = (4A)20(十進法:360 ÷ 4 = 90。十二進法:260 ÷ 4 = 76)
一桁小数を掛ける:(I0)20 × (0.5)20 = (4A)20(十進法:360の 1/4 は90。十二進法:260×0.3 = 76)
一桁小数を掛ける:(I0)20 × (0.F)20 = (DA)20(十進法:360の 3/4 は270。十二進法:260×0.9 = 1A6)
同じく、桁の繰り上がりの例として、(4A)20(十進法の90)を用いる。
乗算:(4A)20 × (10)20 = (4A0)20(十進法:90×20 = 1800。十二進法:76×18 = 1060)
除算:(4A0)20 ÷ (5)20 = (I0)20(十進法:1800÷5 = 360。十二進法:1060÷5 = 260)
一桁小数を掛ける:(4A0)20 × (0.4)20 = (I0)20(十進法:1800の 1/5 は360。十二進法:1060の 1/5 は260)
一桁小数を掛ける:(4A0)20 × (0.C)20 = (2E0)20(十進法:1800の 3/5 は1080。十二進法:1060の 3/5 は760)
除算:(4A0)20 ÷ (4)20 = (12A)20(十進法:1800 ÷ 4 = 450)
一桁小数を掛ける:(4A0)20 × (0.5)20 = (12A)20(十進法:1800の 1/4 は450。十二進法:1060×0.3 = 316)
一桁小数を掛ける:(4A0)20 × (0.A)20 = (250)20(十進法:1800の 1/2 は900。十二進法:1060×0.6 = 630)
以下の表に、二十進法の小数と、それに相当する分数や商を掲載する。割り切れない小数の循環部分は下線で表す。二十は四と五では割り切れるが三では割り切れないので、三分割した際に循環小数になりやすい。
また、十進法は「10 - 1」が9で3の冪数になり、m/27の小数が37の倍数三桁が循環するのに対して、二十進法は「10 - 1」がJ(十進法の19)で3の冪数ではないので、1/9の循環小数は 0.248HFB…で六桁になり、三桁ごとに「248=888(10)の倍数か、その近隣の数」が現れる。24は十進法の44(=11×4)、248は十進法の888(=37×3×8)、HFBは十進法の7111(二十進換算で HF4 + 7 = HFB。HF4(20) = 7104(10) = (888×8)(10))、6D6は十進法の2666(二十進換算で 6D4 + 2 = 6D6。6D4(20) = 2664(10) = (888×3)(10))となるが、これは二十の累乗数の六進表記からも引き出せる。1/9の近似値は二桁なら 100(20) = 1504(6) → (11×4 = 44)(10) = 24(20)、三桁なら 1000(20) = 101012(6) → (37×3×8 = 888)(10) = 248(20) となる。
(1/27)10の近似値も、1000(20) = 101012(6) から (37×8 = 296)(10) = EG(20) となり、循環節が「0EG 5IA 782 J53 E19 CBH」の十八桁だが、三桁ごとに「EG=296(10)の倍数か、その近隣の数」が現れる。先頭九桁を見ると、EG(20)=296(10)の倍数は、5IA(20)=2370(10)の近くに5I8(20)=2368(10)(= (296×8)(10))が、782(20)=2962(10)の近くに780(20)=2960(20)(= (296×10)(10))が位置している。
B(十一)以後の素数は、D(十三)、H(十七)、J(十九)となる。このように、三を漏らしても四と五を約数に入れていることから、二十進法は「大から小へ」の分割法を採っているとも言える。
二十進法の除算の特徴が現れる例は、「3で割り切れるが、2と5と9では割り切れない数」が被除数になるパターンが代表的である。このパターンでは、(10)20以下の3の倍数で割り切れない数は9とI(十八)、4の倍数は(14)20=(24)10まで全てで割り切れ、5の倍数は(1A)20=(30)10までの全てで割り切れる例になる。
このように、除数が2の冪数の割り算における分子・分母の数値は、二十進法は十進法よりも六進法に近い。これは、二十(4×5)と六(2×3)が共に矩形数だからである。例えば、2-6の小数の分子・分母は、二十進法と六進法は約6倍しか離れていないが、六進法と十進法は約21(10)倍の差で、二十進法と十進法は125(10)倍も離れている。
ここではスキップ無しで、(11)10を B 、(18)10を I 、(19)10を J と表記する。
二十進法は「5×4=10」という「奇数の四倍」進法なので、十進法(5×2=10)と十二進法(3×4=10)の応用編となる。二十進法の乗算を覚える要領として、以下の点が挙げられる。
半数はA(=十)の段。
m/4 となる奇数 {5とF(=十五)} は、4の倍数を掛けると一の位が0になる。1/4となる5の段は一の位が5→A→F→0→5で循環し、3/4となるFの段は一の位がF→A→5→0→Fで循環する。
4の倍数 {4、8、C(=十二)、G(=十六)} は、5の倍数を掛けると一の位が0になる。1/5となる4の段は一の位が4→8→C→G→0→4で循環、2/5となる8の段は一の位が8→G→4→C→0→8で循環、3/5となるCの段は一の位がC→4→G→8→0→Cで循環、4/5となるGの段は一の位がG→C→8→4→0→Gで循環する。
他の段は、5の倍数を掛けると一の位が5, A, F, 0のどれかになる。
他の段は、4の倍数を掛けると、一の位が4, 8, C, G, 0のどれかになる。
末尾となるJ(=十九)の段は、一の位と二十の位の和がJになる。
10-2となるI(=十八)の段は、一の位は2ずつ減る。一の位はI→G→E→C→A→8→6→4→2→0の順に変化する。このうち、4の倍数を掛けると(即ち七十二の倍数)、一の位がCの段と同じくC→4→G→8→0→Cの順に変化する(同様に十二進法だと、七十二の倍数は一の位が0で、十二の位が6→0→6で循環する)。
9の段は、偶数を掛けると、一の位の数は2ずつ減る。そして、4の倍数を掛けると、一の位はG→C→8→4→0の順に変化する。
B(=十一)の段は、偶数を掛けると、二十の位は一の位の数の半分になる(例:(12)20=(22)10)。そして、4の倍数を掛けると、一の位は4→8→C→G→0の順に変化する。
3の段は、4の倍数を掛けると、一の位がC→4→G→8→0の順に変化する。これに対して、6の段は、4の倍数を掛けると、一の位が4→8→C→G→0の順に変化する。
7の段とE(=十四)の段は、3の倍数を掛けるとゾロ目になる。これは、(11)20=(21)10 になるため。
二十進命数法は、20 を底とする命数法である。
自然言語で二十進命数法の数詞を持つものは比較的多く、また世界中に散らばっている。十進法が手の指の数に由来するのと同じように、二十進法は手足の指の総和(5本×4ヶ所=20本)に由来する。二十進法の数詞では、1 から 20 まで独立の単語が 20 個あることは希で、内部に五進法または十進法を補助的に含んでいる。
最も体系的な二十進法は、メソアメリカに見られる。例えばマヤ語族のツォツィル語 (Tzotzil)やユト・アステカ語族のナワトル語などがある。サポテカ文字、ラ・モハラの文字、マヤ文字などの記数法も上記のように点と棒を使った二十進表記であった。マヤの長期暦では20日をウィナルといい、1年すなわち360日の周期(トゥン)は20日×18ヶ月で構成された。トゥンより上の単位も二十進法に則し、20トゥンをカトゥン、400トゥン (= 202トゥン) をバクトゥンと呼んだ。
メソアメリカには、二十の累乗数にも個別の数詞や絵文字が命名されている。
ブータンのゾンカ数字(Dzongkha numerals)も命数法に二十進法を用いており、累乗数は十六万(= 204)まで存在する。なお、十九までの数は、補助的に十進法を用いている。
アジアではアイヌ語、ブルシャスキ語などがある。アイヌ語では 40 を tu-hotnep (2×20)、100 を asikne-hotnep (5×20) という。減算も一般的で、90 を wanpe easikne-hotnep (あと 10 で 5×20) と呼ぶ。