十二进制

十二进制，也叫作打进制，是数学中一种以12为底数的记数系统，通常使用数字0~9以及字母A、B（或X、Y）来表示。其中，A（或X）即数字10，B（或Y）即数字11。美国速记发明人艾萨克·皮特曼还曾创造过一种标记法，使用翻转的2和3来表示10和11。十二进制中的10代表十进制的12，也称为一打。同样的，十二进制的100代表十进制的144（=122），也称为一罗；十二进制的1000代表十进制的1728（=123），也称为一大罗；而十二进制的0.1则代表十进制的$\tfrac{1}{12}$。

12是最小的过剩数也是一个高合成数，2、3、4、6都是它的因子。正因为如此，有些情况下十二进制比十进制更易于使用（除了1和10本身，10只有2、5是它的因子）。另外，由于它的因子2和3都是素数，所有只含有质因子2和3的整数（即3-光滑数，如2、3、4、6、8、9、12、16、18……）的倒数在十二进制中都是有限小数。而五个最常用的分数（$\tfrac{1}{2}$、$\tfrac{1}{3}$、$\tfrac{2}{3}$、$\tfrac{1}{4}$和$\tfrac{3}{4}$）在十二进制中也都有非常简单的表示形式（分别为0.6、0.4、0.8、0.3和0.9等只有一位小数的形式）。12是拥有这一性质的最小的底数。在表示分数方面，除了六十进制外，十二进制要比其他常用的进制（诸如十进制、二进制、二十进制、八进制和十六进制）都更为方便。

数秘学家认为12是完整的数目，这反映在一年有12个月、十二小时制、十二生肖、十二星座、耶稣十二门徒、奥林匹斯十二主神等。

## 应用

### 历法

<image>

历史上，在很多古老文明中都使用十二进制来记时。这或许是由于一年中月球绕地球转十二圈，也有人认为这和人类一只手有十二指骨节点有关（不包括姆指），这样方便记数。如古埃及文明就将白天夜晚分别划分为12部分，而从古巴比伦文明传承到西方文化中的黄道十二宫则是将一年分为了12个星座。

在中国文化中，十二进制在记时中也有广泛应用。中国古代设有12地支，与一天的12个时辰对应。一个地支还对应两个节气，从而表示一年的二十四节气。同时，将地支与12种动物对应，成为十二生肖，来表示12年为周期的循环。

### 度量衡

十二进制在各种度量衡中也经常会使用。如英制单位中一英尺等于12英寸，金衡制中一金衡磅等于12金衡盎司。

历史上，古罗马帝国曾使用的Uncia，既是长度单位也是货币单位，其在拉丁文中的含义是$\tfrac{1}{12}$。而在推行十进制系统前，古代英国使用的十二进制与二十进制混合的货币系统，其中一先令等于12便士。

### 语言

使用十二进制的语言并不常见，其中包括尼日利亚中部地带（Middle Belt）的一些语言如Janji、Gbiri-Niragu（Kahugu）、关达拉语（Gwandara）方言Nimbia，尼泊尔的车旁语（Chepang），以及印度米尼科伊岛的迪维希语。在小说中，托尔金的精灵语用的也是十二进制。

日耳曼语族的语言对数字11和12都有特殊的对应单词，如英语中的eleven和twelve、德语中的elf和zwölf，导致这些语言常被误解为是基于十二进制的。事实上，从语源学上来看，两者来自原始日耳曼语中的*ainlif和*twalif，字面含义为“剩下一个”和“剩下两个”，因此这些语言都是基于十进制的。

## 乘法表

比起十进制的九九乘法表，十二进制的乘法表更大。

1｜2｜3｜4｜5｜6｜7｜8｜9｜A｜B｜10

2｜4｜6｜8｜A｜10｜12｜14｜16｜18｜1A｜20

3｜6｜9｜10｜13｜16｜19｜20｜23｜26｜29｜30

4｜8｜10｜14｜18｜20｜24｜28｜30｜34｜38｜40

5｜A｜13｜18｜21｜26｜2B｜34｜39｜42｜47｜50

6｜10｜16｜20｜26｜30｜36｜40｜46｜50｜56｜60

7｜12｜19｜24｜2B｜36｜41｜48｜53｜5A｜65｜70

8｜14｜20｜28｜34｜40｜48｜54｜60｜68｜74｜80

9｜16｜23｜30｜39｜46｜53｜60｜69｜76｜83｜90

A｜18｜26｜34｜42｜50｜5A｜68｜76｜84｜92｜A0

B｜1A｜29｜38｜47｜56｜65｜74｜83｜92｜A1｜B0

10｜20｜30｜40｜50｜60｜70｜80｜90｜A0｜B0｜100

## 与十进制的相互转换

注：下标12表示该数为十二进制，无下标则表示该数为十进制。

### 十二进制转十进制

十二进制到十进制的转换可按下面的例子进行：

$$123456.78_{12} = 1 \times 12^5 + 2 \times 12^4 + 3 \times 12^3 + 4 \times 12^2 + 5 \times 12^1 + 6 \times 12^0 + 7 \times 12^{-1} + 8 \times 12^{-2}$$

$$= 248832 + 41472 + 5184 + 576 + 60 + 6 + 0.58 \dot{3} + 0.05 \dot{5} = 296130.63 \dot{8}$$

### 十进制转十二进制

十进制到十二进制的转换可按下面的例子进行：

```
123456 ÷ 12 = 10288 ... 0
 10288 ÷ 12 =   857 ... 4
   857 ÷ 12 =    71 ... 5
    71 ÷ 12 =     5 ... 11 (B)
     5 ÷ 12 =     0 ... 5
```

将最右排的数从下往上依次写下，即得到123456 = 5B54012。

## 分数与无理数

### 分数

在十二进制中，很多分数能表示成有限小数的形式：

- 1/2 = 0.6
- 1/3 = 0.4
- 1/4 = 0.3
- 1/6 = 0.2
- 1/8 = 0.16
- 1/9 = 0.14
- 1/10 = 0.1
- 1/14 = 0.09
- 1/16 = 0.08
- 1/20 = 0.06
- 1/23 = 0.054
- 1/28 = 0.046
- 1/30 = 0.04
- 1/40 = 0.03
- 1/46 = 0.028
- 1/54 = 0.023
- 1/60 = 0.02
- 1/69 = 0.0194
- 1/80 = 0.016
- 1/90 = 0.014
- 1/A8 = 0.0116
- 1/100 = 0.01

这些分数的共同特点是他们的分母都可以写成$2^i3^j$的形式，换句话说，他们的分母都是3-光滑数。

### 倍数判别法

以下为在12进制中倍数的判别方法，由于小于12且与12互质的数只有1,5,7,11，而由于任何数都是1的倍数，且52=2x12+1,72=4x12+1，故5与7的倍数很好判别，而由于11=12-1，因此可仿照十进制中9的倍数之判别方式，来判别十二进制中11的倍数。

数字｜其倍数判别法

1｜任何数都是1的倍数

2｜个位数为0,2,4,6,8,A

3｜个位数为0,3,6,9

4｜个位数为0,4,8

5｜每两位一区间，奇数区间之和减去偶数区间之和为5的倍数(因为5可整除101)，当少于或等于两位时，就把个位数乘以2再与其他位数相减(因为5可整除21)

6｜个位数为0,6

7｜每三位一区间，奇数区间之和减去偶数区间之和为7的倍数(因为7可整除1001)，当少于或等于三位时，就把个位数乘以4再与其他位数相减(因为7可整除41)

8｜末两位为8的倍数

9｜末两位为9的倍数

A｜2与5的倍数

B｜各位数字和为B的倍数

10｜末尾为0

11｜奇数位数与偶数位数之差为11的倍数

12｜2与7的倍数

13｜3与5的倍数

14｜末两位为14的倍数

15｜个位乘以7再与其他位数相减(因15可整除71)，照此反复做下去，若最后得到的结果是15的倍数的话就是，否则就不是！

16｜末两位为16的倍数

17｜每三位一区间，奇数区间之和减去偶数区间之和为17的倍数(因为17可整除1001)，当少于或等于三位时，就把个位数乘以8再与其他位数相加(因为17可整除7B)

18｜4与5的倍数

19｜3与7的倍数

1A｜2与B的倍数

1B｜个位乘以2再与其他位数相加(因1B可整除1B)，照此反复做下去，若最后得到的结果是1B的倍数的话就是，否则就不是！

20｜个位数为0，十位数为偶数

### 十二进制中的水仙花数

可以证明，十二进制中的水仙花数有87个，其中最大的水仙花数是一个51位数。（见A161949）

25:22+52=25 A5:A2+52=A5 577:53+73+73=577 668:63+63+83=668 A83:A3+83+33=A83

显然，任何一位数(从1到B)都是水仙花数，另外，在十二进制中，不存在四位数的水仙花数。

### 循环小数

通常，日常生活中遇到与3或4有关的除法问题比起与5有关的更多，因而如果使用十二进制来计数比起十进制遇到循环小数的可能性更小。这也是有些人支持十二进制的原因，他们认为既然一年有十二个月（一天有十二时辰，半天有十二小时），使用十二进制在财务问题的计算上会方便很多。

但在真正遇到循环小数的时候，十二进制的表示比起十进制通常又会有更长的循环项。这是因为12位于两个素数11和13之间，而10则与一个合数9相邻。尽管如此，在更多的情况下我们都对数字进行修约，这点上的区别并不是那么明显。另外，由于12的因子分解中2出现了两次，而10只有一次，因而对于大多分母是2的幂的分数，十二进制的表示形式更简短。如1/22 = 0.25 = 0.312，1/23 = 0.125 = 0.1612，1/24 = 0.0625 = 0.0912，1/25 = 0.03125 = 0.04612，1/26 = 0.015625 = 0.02312，1/27 = 0.0078125 = 0.011612，1/28 = 0.00390625 = 0.006912，1/29 = 0.001953125 = 0.0034612，1/210 = 0.0009765625 = 0.0018312，1/211 = 0.00048828125 = 0.000A1612，1/212 = 0.000244140625 = 0.00050912等等。

十进制底数的素数因子： 2, 5｜十二进制底数的素数因子：2, 3

分数｜分母的素数因子｜小数表示｜小数表示｜分母的素数因子｜分数

1/2｜2｜0.5｜0.6｜2｜1/2

1/3｜3｜0.3333... = 0.3｜0.4｜3｜1/3

1/4｜2｜0.25｜0.3｜2｜1/4

1/5｜5｜0.2｜0.24972497... = 0.｜5｜1/5

1/6｜2, 3｜0.16｜0.2｜2, 3｜1/6

1/7｜7｜0.｜0.186A35｜7｜1/7

1/8｜2｜0.125｜0.16｜2｜1/8

1/9｜3｜0.1｜0.14｜3｜1/9

1/10｜2, 5｜0.1｜0.1｜2, 5｜1/A

1/11｜11｜0.09｜0.1｜B｜1/B

1/12｜2, 3｜0.083｜0.1｜2, 3｜1/10

1/13｜13｜0.｜0.0B｜11｜1/11

1/14｜2, 7｜0.0｜0.0A35186｜2, 7｜1/12

1/15｜3, 5｜0.06｜0.0｜3, 5｜1/13

1/16｜2｜0.0625｜0.09｜2｜1/14

1/17｜17｜0.｜0.08579214B36429A7｜15｜1/15

1/18｜2, 3｜0.05｜0.08｜2, 3｜1/16

1/19｜19｜0.｜0.076B45｜17｜1/17

1/20｜2, 5｜0.05｜0.0｜2, 5｜1/18

1/21｜3, 7｜0.｜0.06A3518｜3, 7｜1/19

1/22｜2, 11｜0.045｜0.06｜2, B｜1/1A

1/23｜23｜0.｜0.｜1B｜1/1B

1/24｜2, 3｜0.0416｜0.06｜2, 3｜1/20

1/25｜5｜0.04｜0.05915343A0B62A68781B｜5｜1/21

1/26｜2, 13｜0.0｜0.056｜2, 11｜1/22

1/27｜3｜0.037｜0.054｜3｜1/23

1/28｜2, 7｜0.03｜0.05186A3｜2, 7｜1/24

1/29｜29｜0.｜0.04B7｜25｜1/25

1/30｜2, 3, 5｜0.03｜0.0｜2, 3, 5｜1/26

1/31｜31｜0.｜0.0478AA093598166B74311B28623A55｜27｜1/27

1/32｜2｜0.03125｜0.046｜2｜1/28

1/33｜3, 11｜0.03｜0.04｜3, B｜1/29

1/34｜2, 17｜0.0｜0.0429A708579214B36｜2, 15｜1/2A

1/35｜5, 7｜0.0｜0.0414559B3931｜5, 7｜1/2B

1/36｜2, 3｜0.027｜0.04｜2, 3｜1/30

1/37｜37｜0.027｜0.03A85232B｜31｜1/31

1/38｜2, 19｜0.0｜0.0｜2, 17｜1/32

1/39｜3, 13｜0.｜0.038｜3, 11｜1/33

1/40｜2, 5｜0.025｜0.03｜2, 5｜1/34

### 无理数

无论对于十进制、十二进制还是其他以有理数为底数的记数系统，所有的无理数都只能表示成无限不循环小数。下表列出了一些代数无理数和超越无理数的十进制与十二进制的表示。

代数数｜十进制｜十二进制

$\sqrt{2}$｜1.41421356237309... (≈ 1.414)｜1.4B79170A07B857... (≈ 1.4B8)

$\sqrt{3}$｜1.73205080756887... (≈ 1.732)｜1.894B97BB968704... (≈ 1.895)

$\sqrt{5}$｜2.2360679774997... (≈ 2.236)｜2.29BB132540589... (≈ 2.2A)

φ（黄金分割，$= \tfrac{1+\sqrt{5}}{2}$）｜1.6180339887498... (≈ 1.618)｜1.74BB6772802A4... (≈ 1.75)

超越无理数｜十进制｜十二进制

π（圆周率）｜3.14159265358979323846264338327950288419716939937510...(≈ 3.1416)｜3.184809493B918664573A6211BB151551A05729290A7809A492...(≈ 3.1848)

e（自然对数的底）｜2.718281828459045... (≈ 2.718)｜2.8752360698219B8... (≈ 2.875)

下面是另一个重要常数欧拉-马歇罗尼常数在十进制与十二进制中的表示（现在仍无法确定其是有理数还是无理数）：

数｜十进制｜十二进制

γ（欧拉-马歇罗尼常数）｜0.57721566490153... (~ 0.577)｜0.6B15188A6760B3... (~ 0.6B1)

## 支持

F·爱默生·安德鲁斯（F. Emerson Adnrews）在其1935年出版的著作《新的数字：接受十二进制使数学更简单》（New Numbers: How Acceptance of Duodecimal Base Would Simplify Mathematics）中详细地提出了一种基于十二进制的体系。安德鲁斯写到，由于12的因子在许多传统度量衡中很普遍，很多所谓米制在计算上的优势在十二进制中同样存在。

十二进制和十六进制与二十进制一样，一般都都以A代表10，而B代表11。而安德鲁斯在他的书中提出了一种新的方案，使用手写体的X和E，即$x\!$(U+1D4B3)和$\mathcal{E}\!$(U+2130)来分别代表10和11。原因是这两个符号能与其他的字母与数字很好地区别开，同时$x\!$和X（即罗马数字10）很相像，而$\mathcal{E}\!$则是单词eleven（即英文11）的首字母。

另一种知名的标记方法是艾萨克·皮特曼提出的，它主张用翻转的2表示10，水平翻转的3代表11（也就是$\mathcal{E}\!$）。这一方案被大不列颠十二进制协会（Donzel Society of Great Britain）所采用，其优势是与现有数字相似，比较容易辩认。而美国十二进制协会则用星号*和井号#分别代表10和11，原因在于*类似加上删除线的X、#类似加上双删除线的11，而且两者正好都能在电话拨号盘上找到。然而，批评者则指责说这些符号看起来完全不像数字。还有些系统用ɸ表示10（1与0的合体）以及交叉的十字+、x、或者†表示11。而所有这些符号的缺点是无法在计算器上通过七段LED数码管来显示（$\mathcal{E}\!$是个例外，但很多计算器上已经用E来表示错误信息了）。不过，10和11本身倒是能够在一个数码内显示（11显然可以，10需要进行翻转，如同O加上了长音符号，即ō或0）。A和B也可以做到这一点，只是B需要改用小写的b。

在美国动漫教学片《校舍摇滚》（Schoolhouse Rock!）的一集中，描绘了一个外星小孩使用十二进制算术的场景，分别用dek、el和doh作为10、11和12的名称，还使用安德鲁斯的符号$x\!$和$\mathcal{E}\!$来表示10和11。（dek来自前缀deca，el是eleven的缩写，而doh是dozen的缩写）

美国十二进制协会和大不列颠十二进制协会都在促进十二进制在更大范围内的使用。他们还使用dozenal替代duodecimal（英语：十二进制），原因是后者来自拉丁语词根，用十进制的方法来表示12，即将12拆为了2和10。

知名数学家亚历山大·艾特肯（Alexander Craig Aitken）曾说“十二进制比十进制更易于掌握，使用十二进制进行计算会比用十进制快一半以上”，他还说如果十二进制的效率是100分的话，十进制只有65分或更低。

在里奥·弗兰克斯基（Leo Frankowski）的小说《康拉德·施塔加德》（Conrad Stargard）中，康拉德在商人中引入了一种十二进制的体系，其中的买卖都是以一打或一罗作为单位来计数的。他还发明了一整套十二进制的计量单位制，包括每天只有12个小时的时钟。

支持过十二进制的还包括赫伯特·斯宾塞、约翰·昆西·亚当斯和萧伯纳等。