记数系统

记数系统（numeral system，system of numeration）又称记数法、记数制度、数制，是使用一组数字符号来表示数的体系。记数可以俗称为“写数”，以区别同音词计数。
一个理想的记数系统能够：
记数系统可以按照以下方式分类：
历史.
在木头、骨头或石头上的计数符号从史前时代就开始被使用了。石器时代的文化，包括古代印第安人，使用计数符号进行赌博、私人服务和交易。
在公元前8000年至前3500年间，苏美尔人发明了使用粘土保留数字信息。他们的做法是将各种形状的小的粘土记号像珠子一样串在一起。从大约前3500年开始，粘土记号逐渐被数字符号取代。这些数字符号是使用圆的笔针刻在粘土块上，然后烧制而成的。大约前3100年，数字符号与被计数的事物分离，成为抽象的符号。在前2700年至前2000年间，圆的笔针逐渐被一种尖的笔针取代，这种笔针可以在粘土上刻出楔形符号。这种楔形数字和圆形数字相似，并保留了符号数值记数法。这些记数系统逐渐演变成了一种常见的六十进制系统。这个系统是一种位置数值记数法，只使用竖向的楔形和人形两种符号，而且能够表示分数。这个系统在古巴比伦的初期（大约前1950年）得到了充分的发展，并成为巴比伦尼亚的标准。
上述六十进制系统是一种混合进位制系统，它的一个符号序列的不同位置上使用10和6两个基数。这个系统被广泛地应用于商业，同时也在天文学和其他计算中被使用。这个系统从巴比伦尼亚输出，并传遍了美索不达米亚，包括希腊，罗马和埃及。今天，我们仍然用它来计算时间（1小时=60分钟）和角度（1度=60分）。
中国古代采用算筹记数，个位百位万位等奇数位用纵筹，偶数位用横筹，零用空位表示。有时，军队人数和供给品记数采用质数的算筹，并按照模算术运算。（参看：大衍求一术，中国剩余定理）。模算术的好处在于，尽管其加法相对困难，但乘法很容易。这使得模算术很适合军需品的计算。在现代，同样的模算术有时用于数字信号处理。
罗马帝国使用腊、纸草、和石头上的割符，大致遵从希腊人将字母对应不同数的习惯。罗马数字在欧洲被普遍使用，直到1500年代进位制开始流行。
中美洲的玛雅数字采用20或18为基数的系统，可能继承自奥尔梅克文明，它包含了位置数值记数法和零这样的高级属性。他们将此用于高级的天文计算，包括高精度的太阳年长度和金星轨道的计算。
印加帝国采用奇普，一种打结的带颜色的绳子来记数。关于使用结和颜色来编码的知识被西班牙征服者于16世纪所摈弃，并因此失传。今天，简单的结绳工具仍在安地斯山脉地区使用。
有些权威认为数位算术随着中国的算盘的广泛使用而开始。最早的书面数位记录似乎是大约400年的算盘计算的结果。特别在大约932年，零已被中国数学家正确地表述了，并且似乎是因为采用一个圆圈表示没有算盘珠子的那一位而产生的。
在印度，现代数位数字系统被传给阿拉伯人。可能是和天文表格一起，这一系统被一位印度大使在约773年带到巴格达。对于印度的数字系统的详细讨论，参看阿拉伯数字和印度数字。
从印度出发，伊斯兰苏丹们和非洲的旺盛贸易将此数字系统的概念带到了开罗。阿拉伯数学家们将此系统推广到十进制分数。在9世纪，花拉子密写下了关于该系统的重要著作。随着12世纪该著作在西班牙被翻译和斐波那契的《计算书》在1201年的出版，该系统传入欧洲。在欧洲，完整的带零的印度系统是于12世纪由阿拉伯人带来的。
二进制系统由莱布尼兹在17世纪传播，莱布尼兹在他工作的早期形成了这一概念，并在阅读中国的《易经》再次巩固了这一想法。由于计算机的使用，二进制系统在20世纪变得更加普遍。
常用基数.
二.
基数为2的系统（二进制）的流行及应用主要是因为电子计算机的发明。以2为基数，也代表只有两种变化：不是1就是0。最初的电子计算机以开关电路组成，只有两种状态：开（1）及关（0），并以此引申作各种复杂的逻辑变化。而现今二进制亦普遍使用于数码影音系统中。
八.
基数8的系统（八进制）是北加利福尼亚的Yuki部落设计的，他们使用了手指间的间隔来数数。也有语言学证据显示青铜时代印欧人（多数欧洲和印度语言来源于此）可能用基数10的系统取代了基数8系统（或者一个只能数到8的系统）。证据是代表9的词，"newm"，根据一些历史学家推测来源于“新”（'new', "newo-"），这表示数字9是当时最近发明的，所以称为‘新数’（'new number'） (Mallory &amp; Adams 1997年)。
九.
涅涅茨语曾经使用基数9的系统（九进制），但在俄语的影响下转变为十进制。"yúq"一词最初表示9，但在俄语影响下变成了10的意思；所以在现在的涅涅茨，9现在是"xasu-yúq"，也就是“涅涅茨"yúq"”，而10就是"yúq"，但在东部方言中也作"lúca-yúq", 也就是“俄语"yúq"”。
十.
十进制是今天最为常用的系统。它被视为因为人类具有十根手指而产生。
十二.
基数12的系统（十二进制）曾经很流行，因为乘法和除法比十进制方便，而加法同样简单。12很有用，因为它有很多因子。它是1到4最小的公倍数。我们对十二有一个特殊的词“打”("dozen")，并且使用12小时作为一个白天或者一个黑夜。十二进制来自于一只手除了拇指以外的四个手指的指节个数，它们曾被用来记数。
十六.
基数为16的系统（十六进制）曾经在中国的重量单位上使用过，比如，规定16两为一斤。现在的16进位则普遍应用在电脑领域，这是因为将二进位数字转化为十六进位数字非常容易，用十六进位表达数字比用二进制方便。1位元组（一个8个位的二进位数字）可以很方便的表示成一个两个位的16进位数字。
二十.
玛雅文明和其它前哥伦布时期中美洲文明使用二十进制、因努伊特的因努伊特数字，源于人的手指和脚趾总数。
六十.
基数为60的系统（六十进制）是苏美尔人和他们在美索不达米亚的继承者所使用的，今天还在我们的计时系统中存在（所以一小时有60分钟而一分钟有60秒）。60也有大量因子，包括前六个自然数。六十进制系统被认为是因为十进制和十二进制合并过程中产生的。中国历法中，六十进制的甲子系统用于表示年，每个60年循环中的年用两个符号代表，第一个符号是十进制的天干，第二个符号是十二进制的地支。两个符号在后续一年中同时前进一，这样同样的组合在60年后再现。该系统的第二个符号也和12个动物的生肖系统对应。
进位制详解.
在“基数formula_1”的“位置记数系统”（其中formula_1是一个正自然数，叫做基数）中，formula_1个“基本符号”（或称数字）对应于包括0的 最小formula_1个自然数。 要产生其他的数，必须变动这些基本符号在数中的位置。最后一位的符号用它本身的值，向左一位其值乘以formula_1。 
例如，在十进制系统中（基数10），数 4327 表示 (4×103) + (3×102) + (2×101) + (7×100)，注意 formula_6 = 1。
一般来讲，若formula_1是基底，我们在formula_1进制系统中的数表示为formula_91formula_1k + formula_92formula_1k-1 + formula_93formula_1k-2 + ... + formula_9k+1formula_10的形式，并按次序写下数字formula_91formula_92formula_93 ... formula_9k+1。这些数字是 0 到 formula_1-1 的自然数。
若一段文字（譬如这段文字）讨论多个基数，若有歧义时，基数（本身用十进制表示）用下标方式写在数的右边。除非有上下文说明，没有下标的数字视为十进制。
通过使用一点（小数点）来将数字分成两组，就可以用位置系统来表示小数。例如，基数-2系统 10.11 表示1×21+ 0×20 +1×2-1 +1×2-2 = 2.75。
一般来讲，formula_1进制系统中的数有如下形式：
数 formula_24 和 formula_25 是相应数字的 比重。
注意有一个数有一个终止或者循环当且仅当它是有理数；这不依赖于基数的选择。在一个进制中终止的数可以在另外一个有循环小数（thus 0.310 = 0.0100110011001...2）。一个无理数在所有进制中不循环（无穷位不循环数字）。这样，例如二进制中，π = 3.1415926...10 可以写作不循环的 11.001001000011111...2。
若formula_1=formula_27是一个质数，可以定义其向左的扩展不停止的formula_27进制数字；这些数字称为p进数(p-adic)。
进制转换.
转换正整数的进制的有一个简单算法，就是通过用目标基数作长除法；余数给出从最低位开始的“数字”。例如，1020304从10进制转到7进制：
再如，10110111 从2进制到5进制：
转换一个“十进制”小数，可以用重复乘法，将整数部分作为“数字”。不幸的是有限小数不一定转换成为有限小数，例如0.1A4C从16进制转换到9进制：
一般化变长整数.
更一般化的有一种记法（这里写作小头式），例如formula_90formula_91formula_92 用作formula_90 + formula_91formula_11 + formula_92formula_11formula_12, etc.