记数系统(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年带到巴格达。对于印度的数字系统的详细讨论,参看阿拉伯数字和印度数字。[1]
从印度出发,伊斯兰苏丹们和非洲的旺盛贸易将此数字系统的概念带到了开罗。阿拉伯数学家们将此系统推广到十进制分数。在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个动物的生肖系统对应。
进位制详解
在“基数”的“位置记数系统”(其中是一个正自然数,叫做基数)中,个“基本符号”(或称数字)对应于包括0的 最小个自然数。 要产生其他的数,必须变动这些基本符号在数中的位置。最后一位的符号用它本身的值,向左一位其值乘以。
例如,在十进制系统中(基数10),数 4327 表示 (4×103) + (3×102) + (2×101) + (7×100),注意 = 1。
一般来讲,若是基底,我们在进制系统中的数表示为1k + 2k-1 + 3k-2 + ... + k+10的形式,并按次序写下数字123 ... k+1。这些数字是 0 到 -1 的自然数。
若一段文字(譬如这段文字)讨论多个基数,若有歧义时,基数(本身用十进制表示)用下标方式写在数的右边。除非有上下文说明,没有下标的数字视为十进制。
通过使用一点(小数点)来将数字分成两组,就可以用位置系统来表示小数。例如,基数-2系统 10.11 表示1×21+ 0×20 +1×2-1 +1×2-2 = 2.75。
一般来讲,进制系统中的数有如下形式:
数 和 是相应数字的 比重。
注意有一个数有一个终止或者循环当且仅当它是有理数;这不依赖于基数的选择。在一个进制中终止的数可以在另外一个有循环小数(thus 0.310 = 0.0100110011001...2)。一个无理数在所有进制中不循环(无穷位不循环数字)。这样,例如二进制中,π = 3.1415926...10 可以写作不循环的 11.001001000011111...2。
进制转换
转换正整数的进制的有一个简单算法,就是通过用目标基数作长除法;余数给出从最低位开始的“数字”。例如,1020304从10进制转到7进制:
1020304 / 7 = 145757 r 5 ↑ => 11446435 145757 / 7 = 20822 r 3 │ 20822 / 7 = 2974 r 4 │ 2974 / 7 = 424 r 6 │ 424 / 7 = 60 r 4 │ 60 / 7 = 8 r 4 │ 8 / 7 = 1 r 1 │ 1 / 7 = 0 r 1 │
再如,10110111 从2进制到5进制:
10110111 / 101 = 100100 r 11 (3) ↑ => 1213 100100 / 101 = 111 r 1 (1) │ 111 / 101 = 1 r 10 (2) │ 1 / 101 = 0 r 1 (1) │
转换一个“十进制”小数,可以用重复乘法,将整数部分作为“数字”。不幸的是有限小数不一定转换成为有限小数,例如0.1A4C从16进制转换到9进制:
0.1A4C × 9 = 0.ECAC │ 0.ECAC × 9 = 8.520C │ 0.520C × 9 = 2.E26C │ 0.E26C × 9 = 7.F5CC │ 0.F5CC × 9 = 8.A42C │ 0.A42C × 9 = 5.C58C ↓ => 0.082785...a
一般化变长整数
更一般化的有一种记法(这里写作小头式),例如012 用作0 + 11 + 212, etc.
注释
参考文献
参见
外部链接
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.