记数系统

记数系统（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 & 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.
1 is 35 instead of 36. Suppose the threshold values for the second and third digit are c (2), then the third digit has a weight 34 × 35 = 1190 and we have the following sequence:
a (0), ba (1), ca (2), .., 9a (35), bb (36), cb (37), .., 9b (70), bca (71), .., 99a (1260), bcb (1261), etc.
Note that unlike a regular base-35 numeral system, we have numbers like 9b where 9 and b each represent 35; yet the representation is unique because ac and aca are not allowed.
The flexibility in choosing threshold values allows optimization depending on the frequency of occurrence of numbers of various sizes.
The case with all threshold values equal to 1 corresponds to bijective numeration, where the zeros correspond to separators of numbers with digits which are nonzero.