2.计数有学问
数字是某种位置数字系统中表示数的单独的符号(比如“2”)或者组合的符号(比如“25”)。在这种系统中,数字按照一定的规律组合起来,就能表示任何数值,称为数。
数的概念最初无论在哪个地区都是从1,2,3,4,…这样的自然数开始的,但是计数的符号却大不相同,人类历史上发明了很多种数字符号。古巴比伦人用点来表示数字,五个点表示5,八个点表示8,九个点表示9。点太多,数不清时,人们又发明了专用的计数符号,“<”表示10,“T”表示360等。在中国,“一,二,三,四,五,六,七,八,九,十,百,千,万”这13个数字在甲骨文中就已经出现。古罗马的数字系统相当先进,罗马数字的符号一共只有7个:“I”(代表1)、“V”(代表5)、“X”(代表10)、“L”(代表50)、“C”(代表100)、“D”(代表500)、“M”(代表1000)。这7个符号位置上无论怎样变化,它所代表的数字都是不变的。罗马数字影响甚广,美国橄榄球年度赛事“超级碗”每年的Logo都是一个变形的罗马数字加橄榄球的造型。
世界上曾出现过很多种数字系统,不同的文明如中国、波斯、古印度、古罗马等,都在历史长河中发展出了自己的数字系统。有意思的是,中国还发展出了大写数字这种独特的系统,这种方式利用与数字同音的汉字取代数字,以防止数目被涂改,而罗马数字因为字形规整,富于装饰性,经常出现在表盘上,不过目前最常用的还是阿拉伯数字。
常用的数字系统
数字看似简单,但发展成现代的数字系统却经过了数千年的进化,很多现在看似简单的概念,也是经过了漫长的演化才发展成熟的。
古人借用身体部位辅助计数,首先想到的当然是手指,这也许是我们喜欢用“十”作为计数单位的由来。有些文化甚至连指关节、脚趾之间和手指之间的空间都用上了,比如新几内亚的Oksapmin文化,使用27个上身的位置来表示数字。
古人在交易、记录中,把数字刻在木头、骨头和石头上来保存数字信息。公元前8000年到前3500年,苏美尔人发明了一种在黏土中保存数字信息的方法。这是用各种形状的小块黏土标记完成的,这些标记可以像串珠一样串起来。
最初的数字都是指代具体的事物,慢慢地,古人逐渐建立了数字的抽象概念。大约公元前3100年,数字开始与被计算的东西分离,成为抽象的符号。
在公元前2700年到公元前2000年,苏美尔人用于书写的圆形手写笔逐渐被三角形尖头的芦苇秆取代,形成了黏土上的楔形数字符号。这些楔形数字符号类似于它们所替换的圆形数字符号,并保留了圆形符号的一些附加值符号。这些数字系统逐渐发展演变为一种通用的六十进制数系统。这个六十进制数系统在古巴比伦时期得到了充分发展,并成为当时的计数标准。
苏美尔人楔形数字符号
古巴比伦的六十进制数系统是混合基数系统,交替使用基数10和基数6,这两个基数分别用垂直楔形和人字形表示。到公元前1950年,六十进制数系统在商业中被广泛使用,同时也用于天文和其他计算,并从古巴比伦传播到整个美索不达米亚以及那些使用标准古巴比伦计量和计数单位的地中海国家,包括古希腊、古罗马和古埃及。现代社会中仍然使用古巴比伦六十进制数系统来表示时间(每小时分钟数)和角度(度数)。
中国是最早研究模运算的国家,即整数相除求余数。模数相当于一种进制,只不过进位系统是一些特殊的整数。我国古代算书《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”意思是,一个数除以3余2,除以5余3,除以7余2,求适合这个条件的最小数。这是个典型的模运算问题,被称为“孙子问题”。关于孙子问题的一般解法,国际上称为“中国剩余定理”。
我国古代学者早就研究过这个问题的解法。例如,我国明朝数学家程大位在他著的《算法统宗》中就用四句很通俗的口诀暗示了此题的解法:三人同行七十稀,五树梅花廿一支,七子团圆正半月,除百零五便得知。这里“正半月”暗指15。“除百零五”的原意是用105去除,求出余数。这四句口诀暗示的意思是:当除数分别是3,5,7时,用70乘以用3除的余数,用21乘以用5除的余数,用15乘以用7除的余数,然后把这三个乘积相加。相加的结果如果比105大,就除以105,所得的余数就是满足题目要求的最小正整数解。
古人发展出了模数计算,主要是满足军队和供给的需要。比如说,部队数量和粮食数量之间的分配关系其实就跟上面的“孙子问题”很类似,经过模数计算,很快就会找到合适的粮食分配方案。我国古代的建筑行业,也长期使用模数计算方式,即将很多常用的建筑构件及其尺寸固定下来,便于互换和标准化作业。模数计算适合做乘法,但不适合做加法,现代社会已经不太常用了,但在数字信号处理、密码学中还被广泛使用。
最古老的希腊数字系统是雅典数字系统,早在公元前4世纪,古希腊人就开始使用一个准十进制字母系统(希腊数字)。犹太人也使用过类似的系统(希伯来语数字),其中最早的例子是公元前100年左右的硬币。这种数字系统的特点是五、十进制混合,可以表示1,5,10,100,1000,…现代货币系统其实还留有这种数字系统的痕迹。
古罗马帝国大致遵循古希腊的习惯,即将字母分配给各种数字,包括常用的“Ⅰ”“Ⅴ”“Ⅹ”(分别代表1、5、10)。罗马数字系统在欧洲仍然被普遍使用,直到16世纪开始普遍使用现代的位置计数系统。
中美洲的玛雅人使用十八进制与二十进制混合的数字系统,而且其数字系统已经包括了位置符号和零等先进符号。玛雅人使用这个系统进行先进的天文计算,包括太阳年长度计算和金星轨道高精度计算等。印加帝国使用一种复杂的彩绳绳结记号系统来管理帝国庞大的经济。可惜的是,16世纪,西班牙征服者在摧毁印加帝国的同时,也毁灭了这种彩绳绳结记号系统中的结节表示方法和颜色编码系统,导致其没能流传下来。
一些权威人士认为,我国最早采用算筹来体现位置计数系统。而现代普遍使用的阿拉伯数字就是一种位置计数系统,最早其实是由印度数学家发明的,公元773年前后由印度大使带到巴格达的天文表被引入阿拉伯世界。从印度开始,经由阿拉伯与非洲之间蓬勃发展的贸易,再将阿拉伯数字这一概念带到了开罗,阿拉伯数学家进一步将该系统扩展到包含小数的部分,然后现代阿拉伯数字在12世纪的时候被阿拉伯人引入欧洲。
● 计数的规则——计数法
随着人类社会的进步,数字也在逐渐变大,即开始变得无穷无尽。然而代表数的符号却只有那么不多的几个或十几个,怎么办呢?人们能想到的是把几个符号拼凑在一起表示更多的数,但这就需要有个规则。历史上,不同时代、不同地域、不同文化中产生的计数制度可以说是五花八门,这些计数系统是在数字系统上面增加了一些规则产生的,所以被称为附加数字。
(1)简单累数制
一个罗马数字符号重复几次,就表示这个数的几倍。如:“III”表示“3”;“XXX”表示“30”。不过,如果数字稍微大一点儿,表示起来就困难了,如3888,罗马字就得写成“MMMDCCCLXXXVIII”。显然这种辅助计数手段不太实用。
(2)右加左减
一个代表大数字的符号右边附一个代表小数字的符号,就表示大数字加小数字的数目,如罗马数字“VI”表示“6”,“DC”表示“600”。一个代表大数字的符号左边附一个代表小数字的符号,就表示大数字减去小数字的数目,如“IV”表示“4”,“XL”表示“40”,“VD”表示“495”。这种方法比简单累数法方便了不少,但阅读难度较大。
(3)分级符号制
如古埃及僧侣将10,20,…,90以及100,200,…,900等采用特殊的符号来表示。
(4)乘法累数制
在我国古代,214557被读作“二十一万四千五百五十七”。从我国最早的文字记录来看,数词通常是十进制。“十、百、千、万、亿、兆、经、姟”等数词早已有之,只不过万以上的数词如亿、兆、经、姟等不常用。“甲骨文里面出现的数词最大为‘三万’”“周代出现了‘亿’以上的数词”,《伐檀》中写道:“胡取禾三百亿兮。”
(5)位置计数法
位置计数即今天我们常用的阿拉伯数字的计数方法。不同位置的数字代表的权重不一样,称为“位权”。位置计数法的出现,为数字表示和计算都带来了极大的方便,可谓数系发展的第一个里程碑。
附加数字
(6)科学计数法
科学计数法是一种计数的方法,即把一个数表示成a(1≤a<10)与10的幂(n代表幂,为整数)相乘的形式。当我们要标记或运算某个较大或较小且位数较多的数时,用科学计数法可以避免浪费很多空间和时间。如世界人口约有70亿,可以写成7000000000=7×109。