首页 百科知识 数字记数法

数字记数法

时间:2022-08-23 百科知识 版权反馈
【摘要】:前面我们已经提到,在人类刚开始产生数的概念的时候,在人类历史上最早出现的是实物记数法,是“非文字记数法”,那时人类所认识的是与实物相联系的数。这种最原始的记数法,是基数最小的一种记数法,它只需要两个数码就可以表示任何数。这种神秘雅致的记数法的历史常与莱布尼兹联系在一起。莱布尼兹在重新发现了二进制后,对其大力提倡和阐述,使二进制记数法引起了人们的普遍关注。

早期记数符号的出现

前面我们已经提到,在人类刚开始产生数的概念的时候,在人类历史上最早出现的是实物记数法,是“非文字记数法”,那时人类所认识的是与实物相联系的数。原始社会末期,私有制和货物交换产生以后,数的概念有了进一步的发展。人们开始用文字符号取代结绳与刻痕记数,这样,与实物相脱离的真正抽象的数才被最终确定下来。当人们不必依赖具体的实物,而是用抽象的数字符号来表示数字时,数字才完成了它的起源过程。作为记数符号的数字的发明,意味着自然数的出现,标志着数学开始迈出它的第一步。为此,人类曾经历了一个多么漫长的岁月啊!

人类创造文字,大约有5000年的历史了。当文字出现后,如何将数目用文字记录下来就成为一件重要的事情。但是这种符号不是很快就能建立起来的。迄今知道的最古老的埃及和巴比伦记数法的出现也是公元前四千年代和公元前三千年代的事了。

在人类刚形成数的概念并开始在较小范围内记数时,不约而同地采用了划横或竖杠的方式。即数目是几,就划几道杠。然而当面对较大的数目时,这种最原始的解决办法还是否可行呢?有一则读者可能在刚学习数的时候就已经熟悉的笑话:“一个学生刚从先生那里学会写一、二、三,便认为自己已经学会识字了。于是,有些吝啬的孩子的父亲高高兴兴地辞掉了先生。不久家里请一位姓万的客人,需要这位‘聪明’的学生写个请柬,于是他一划一划忙了起来,忙了大半天,还没有写出这个万字,最后当父亲急急火火地问他怎么还没有写完时,他抱怨说:‘这人真怪,为什么偏要姓万呢?’他以为万字就是一定要划出一万道横杠来。”

可见,这种解决方案在数目较小时虽然略显笨拙,却还是可行的,但是当面对大的数目时,就根本行不通了。然而随着生产力进一步提高,实际生活中恰恰越来越多地要用到大的数目。如果我们不采用被我们嘲笑过的这个傻学生的办法,去划一万道横杠,那么用什么办法才能完满地解决这个问题呢?对每一个数目都引进一个新的符号,行不行呢?想想看,如果这样,那么一万内的数目就需要我们采用一万个数的符号了。更何况自然数是无限的呢?这可一点也不见得比傻学生的解决方案聪明多少呃。

符号的简化:进位制的使用

记数符号的引入,使人们可以表示出一些较小的数。但是当数较大时,无论是采用“对每一个数都引进一个新的符号”还是“数目是几,就画几道杠”的方法都是完全行不通的。那么用什么办法呢?回想一下前面我们已经提到的,原始人在对数进行命名时已经很自然地使用的那种新方法吧。当原始人把“一只手”作为数5后,就用“另一只手上的一个手指”,或“五与一”等来表示数六。当然,同样地可以如此表示出数七、八等。于是,对于比5稍大些的数我们不用引进新的称呼也能够表达明白了。这一解决思路前面已经提到叫进位制思想。换言之,所谓进位制就是“以P个数组成一个新的单位,而P个新单位又可以用一个更高的单位来表示,依此类推”。因为是以P个数组成新的单位,所以就叫P进制。P称作进位的基数。对数的命名中所采用的这种办法,不是同样可以用在记数上吗?有了这种进位制的思想,记数就可以简单些了,人们就可以凭借少数的数码来表示出很大的数目,而不用采用过多的符号了。许多民族都完成了这一步,可见想到这一点并非什么太难的事情。不过不同的民族对此却有不同的发展过程,除了选取的进位基数不同外,各民族在每一个较高单位的表示方法上也不尽相同。

下面,我们先来进一步介绍几种进位基数。

正如我们前面已经提到的,当人们开始用语言来表述一定的数目时,二进制被认为是最古老的记数法。它出现在人们还没有用手指进行计数的时候,也就是在一只手是低级单位,一双手和一双脚是高级单位之前的时候。今天,我们还可以找到二进制的痕迹。如我们用双、对来计量。据考查,在澳洲和非洲的最原始的还没有达到屈指计数程度的民族中,到现代仍存在着这种记数法。他们独立的数字只有一和二,其复合的数字到六为止。至于六以上,则统称之为“堆”。他们大多以双来计数。这种习惯达到如此根深蒂固的程度,以致我们从一排七根针中抽去两根,他们很难察觉出来,但如果只抽去一根,他们就马上觉察出来了。

这种最原始的记数法,是基数最小的一种记数法,它只需要两个数码就可以表示任何数。这种神秘雅致的记数法的历史常与莱布尼兹联系在一起。

莱布尼兹:17世纪德国数学家、自然科学家、哲学家。他的研究领域极其广泛,包括数学、哲学、逻辑学、力学、地质学、法学、历史、语言、法律及神学等。他被誉为百科全书式的人物,他的多才多艺在历史上也很少有人能与之相比。在数学上他以独立创立微积分学而著称。此外,他在数学上贡献还有:1673年制作了能够进行四则运算的计算机;系统阐述了二进制记数法等等。

莱布尼兹在重新发现了二进制后,对其大力提倡和阐述,使二进制记数法引起了人们的普遍关注。对二进制,莱布尼兹表示出了极大的偏爱。他认为一切数都可以用0和1创造出来,这正可以作为基督教《圣经》所说上帝从“无”创造“有”的象征。为此,他曾赞叹说:“用一、从无,可生万物。”也就是说,从二进位制中,莱布尼兹发现了上帝创造世界的证据。对此拉普拉斯普在他的名著《概率的哲学探讨》中评论说:“莱布尼兹在他的二进制算术中,看出了创造万物的影象……他想象:一代表上帝,零代表混沌;上帝由混沌中创造出世界万物,正如在他的记数法中用一和零表示一切的数一样。这个观念太使莱布尼兹喜欢了,所以他将它提交任中国数学院院长的耶稣神父闵明我,希望因这种创世界的象征,而使非常喜欢科学的中国皇帝也转信耶稣教。我提到这点,目的只在指出,即使是大人物的眼睛,也会被幼稚的偏见所蒙蔽!”

行文至此,还想顺便提一下莱布尼兹与《易经》的一桩公案。

在莱布尼兹稍前,已经有人重新提出过二进制记数法。不过,莱布尼兹大概未见到过前人的论述,所以一直以为是自己的独创。因此,当他得知中国古老的八卦排列和2进位制一致时,感到欣喜若狂,他将他的结果与中国古代圣哲的思想联系起来,认为自己揭开了数千年前中国的一个不可解之谜。他的这一说法被一些国人所借用,于是在我国产生了一则流传甚广的神话:中国早在几千年前的《易经》中就已有了二进制思想的证据,甚至更加离谱地认为莱布尼兹是受《易经》的影响而发明了二进制。事实上,这只是一出错误的喜剧而已。其一,莱布尼兹先自己发现了二进制而非受《易经》的启发;其二,他认为中国古老的伏羲八卦的排列和二进制记数法的顺序一致,但是他所见到的八卦图并非周易原来的图,而是中国北宋邵雍改画的。原来的八卦图的排列与二进制记数法的顺序并不一致,因而无法从中得出我国周代就已有二进制记数法的结论。甚至至今仍有着不少的书籍或报纸在宣扬这一说法,并美其名曰:弘扬中华民族古代智慧,真不知道这种往我们古人脸上涂金的方式是出于无知,还是出自过度的自卑了。

好了,让我们再转回到二进制本身吧。二进制记数法虽可仅用两个符号就能表示出任意数,但缺点在于:其表示很冗长。如87要写成1010111,所以在实用上是不方便的。但现代电子计算机中却采用了这种记数法。为什么呢?这是由于其不方便处对于电子计算机来说并不构成任何障碍。而其优越处是其他记数法所不可比拟的。最为重要的原因在于只用两个数码的长处使得二进位制只要求元件有两种不同的稳定状态,这不但容易办到,而且可靠性高。如开关的“通”、“断”,穿孔带的“有孔”“无孔”,晶体管的“通导”、“截止”等都可以实现。而如果电子计算机中使用其他进制,就要求元件具有更多种稳定的物理状态来表示这些个数码,而这是很困难的。其二,是符号的经济和演算的简单。在这种进位制中,计算法则只有两条:1+1=10;1×1=1。在十进位制中加法和乘法计算都比这复杂得多。其三,它比其他数制更节省元件。还有,它便于使用数理逻辑来进行分析和总体设计。正因此,二进制这种最古老的进位制在今天旧貌换新颜而受到人们的重视并显得特别重要了。

有证据表明,3、4也曾作为原始的基数。也有证据说明在史前时期使用过12作为基数。它的产生,据猜测是由于一年有十二个月的缘故。至今,在长度、重量、货币、时间等的计量中我们仍然广泛地以12为基数。另外,常用的还有十六进制、六十进制等等。在我国旧时的一斤为十六两,所以我们才有成语“半斤八两”。至于六十进位的证据就更多了。至今我们用于测量角和时间的单位都还是六十进制的。

其实,我们可以说古代各民族记数法中的进位基数是五花八门的,不过有几种似乎更受青睐。1920年前后,有人调查了307种原始的计数方法。结果发现有146种是10进制的。由此可见人的十个手指,对人类计数留下了不可磨灭的印迹。的确,我们的十个手指毫无疑义地影响了我们数制基底的选择。除了十进制外,还有其他两种相当普遍的基底,也显著地表明了我们计数方法的拟人化倾向。这两种数制便是以五为基底的五进制和以二十为基底的二十进制。事实上,正如所预期的,5作为基底是第一个被广泛使用的尺度。五进位制被认为是手指计数法中最古老的。显然这是起源于惯用一只手计数的民族。但是人为什么只限于用一只手呢?一个可信的的解释是,原始人出门很少不带武器的。遇着要计数的时候,他就把武器夹在腋下,在左手上计数,用右手查点。许多种语言现在仍然带着五进制的痕迹,因而可以相信有些十进制曾经经历过五进制的阶段。在五进制后,记数法沿着两条道路继续发展。没有停留在只用一只手的手指计算的,转向利用第二只手,就导致了十进制,如果继而用脚趾来计算,也就产生了二十进制。有证据表明,以20为基数的计数制曾被广泛使用。许多民族都曾经经历过二十进制的初期阶段。在二十进制中,具有20个指趾的人就成了天然的高一级单位。在这种进位制中,两个人可以表示40,三个人可以表示60等等。那么是什么原因,使得这种进位制在后来被淘汰了呢?推测原因大概有两点:其一,若用20为基数,那么就需要20个不同的名称来表示20以内的数字。这有点过于烦琐;其二,是人们鞋的使用。或许正是由于鞋子的使用,才使人类停留在两只手的计算上,而最终在多数民族那里建立了十进制吧。

设想要是人类没有屈伸自如的手指,而只有两只“不分关节”的秃拳,或者人类的手指数不是十个,那么整个文化史会成个什么样子,这是一个有趣的问题。实在说,人类采用十进制是一种生理上的凑巧。人类有十个手指的事实,造成了人用十来计数的根深蒂固的传统。谁要想去改变数制的基底,在现在即使不是是很滑稽的,也将是极不受欢迎的。

关于基数的选取问题就说这些吧。下面让我们去看看古代民族所使用的几种有代表性的进位制记数法。

先看古埃及人所用的办法。

在最古老的古埃及象形文字中可以发现,古埃及人用的是十进位制。1用一短划来表示,10像拱门,100是一卷绳,1000像荷花,10000是一个指头,有时向左弯,有时向右弯。100000,有时像蝌蚪,有时像小鸟。其最大的单位是107,像初升的太阳。可见,在每一个较高的单位,他们都用一种新的符号来表示。

古罗马人所采用的也是这种记数方法。只不过他们所用的是五进位。他们用Ⅰ代表1,把ⅠⅠⅠⅠⅠ写成Ⅴ,然后把两个Ⅴ记作X,L代表50,C代表100,D代表500等等。每当出现一个较高的单位时,就引入一个新的符号来表示。在这种表示方法下,一个简单的数要写成长长的一串,如888=DCCCLXXXⅧ。

这种曾在古罗马被广泛使用的记数法相当笨拙,但与有多少数就划多少道杠相比总算是一种进步吧!这种记数法竟然在12世纪以前一直盛行于欧洲呢。

上述记数法可被称为简单累数制,也可以叫做加法累数制。其原理是将各个数码所表示的数加起来。如罗马人表示300就要重复写三次C(上面已经提到罗马人用C代表100)。这是很麻烦的。对这种笨拙的表示法进行简化的一种思路是把重复出现的数改用乘法表示。最有代表性的就是中国数字。如4600不必写成“千千千千百百百百百百”,也用不着另造表示4000与600的新字,而是写成“四千六百”。不比较不知道,当与古罗马人采用的方法相比较时你就会发现这是多么聪明的方法啊。这种记数法被称作乘法累数制。我国早在殷商时代便使用了这种十进的乘法累数制。在出土的甲骨文中发现了13个数字:一、二、三、四、五、六、七、八、九、十、百、千、万(当然在写法上与现在并不相同,这里我们使用了现代人所熟知的写法),而用这十三个数字,就可以表示出相当大的数了。后来又增加一些新字,以表示更大的单位与更大的数。如亿、兆、京等等。但是由于规定太过烦琐,并且在不同时期并不统一,很容易弄错,所以并没有得到推广。现在只有亿还在使用,表示万万。亿以上不再定新名了。

古希腊人使用过两种记数法。一种称为阿提喀记数法。它最早出现于公元前450年。这种记数法是以10为基数。一个单位用一条竖线表示,对五、十、千、万都用一个字母来表示,所有其他数字都可借助这些符号按照加法原则来记。

另一种记数法叫爱奥尼亚记数法,它最早为毕达哥拉斯与他的学派所采用。

对于毕达哥拉斯与毕达哥拉斯学派这两个我们本书中经常提到的名词,这里先稍微详细地介绍一下。

提起毕达哥拉斯,学过几何的读者或许会记得有一个毕达哥拉斯定理,即我们所称的勾股定理。不过对毕达哥拉斯其人,恐怕就不一定怎么熟悉了。

毕达哥拉斯(约公元前580~前500年)是古希腊哲学家、数学家、天文学家,还是音乐家、教育家。据说早年他曾师从名哲泰勒斯、阿那克西曼德、菲尔库德斯。他对老师的观点有选择汲取,最后逐渐形成了自己的学说。他又曾游历过古埃及、古巴比伦等东方国家,在这些国家他不断向有学问的人请教,以丰富自己的见解和知识。当他完成游历回到自己的故乡时已是一个思想成熟的智者了。但在家乡他却不能施展才志。于是他移居到意大利半岛南部的克罗托内,在那里他赢得了人们的信任与景仰,并组织起一个政治、宗教、数学合一的秘密团体,即后来称的毕达哥拉斯学派。这一学派的创建具有历史意义,也是毕达哥拉斯天才灵感的成果。在他的领导下,该学派进行了多方面的研究工作。学派中有一种习惯,就是将一切发明都归之于学派的领袖,而且秘而不宣,以致后人不知某项成果是何人在何时所发明的。但由于这个学派在他生前,是以他为精神灵魂的,因此可以相信当他在世时,学派做出的多数重大成果都一定凝聚着他的心血与智慧。可以说,正是在他的领导下该学派取得了多方面的巨大的成就。

毕达哥拉斯学派特别重视事物的定量研究。他们认为一切事物和现象都可以、并且只能通过数学得到解释。宇宙的本质就在于数的和谐性。基于这种信念,他们努力从事数的研究。他们几乎把全部时间用在这种研究上,第一个推进了这一个知识部门。可以说毕达哥拉斯是数学这门学科的奠基人、创始者。他发明的许多术语和以他命名的数学用语沿用至今。最有名的是以他名字命名的毕达哥拉斯定理。他还发现了三角形内角和为180°,并发明了用几何作图法解二次方程。他最早把自然数划分为奇数与偶数。数学中神秘有趣的完全数、亲和数也是由他最早发现的。另外这个学派在数学研究中有一个特点,就是将算术与几何紧密联系起来从而发现了许多既属于算术又属于几何的结论。发现无理数更是这一学派在数学上的重大贡献之一。

在对数的研究基础上,毕达哥拉斯提出:高度抽象的数可以表现一切物质,构成一切物质。进一步他又提出了哲学命题:万物皆数,数是万物始基。

此外,毕达哥拉斯是音乐理论的鼻祖。他用数学观点研究音乐,并阐明了单弦的乐音与弦长的关系,从而为现代音乐理论奠定了基础。他是天才的教育家。在西方他又是第一个把某些韵律和旋律用于教育的人,他通过音乐使学生的灵魂得以净化。在天文方面,他首创地圆说,认为日、月、五星都是球体。

毕达哥拉斯学派后来在政治斗争中遭到破坏,毕达哥拉斯本人逃亡到塔兰托,后被杀害。享年89岁,度过了他漫长充实的一生。他死后,毕达哥拉斯学派还继续存在了两个世纪之久,对希腊文化产生了巨大的、多方面的、深远的影响。

现在让我们转回到正题上去。毕达哥拉斯学派所使用的这种记数法借助27个字母来表示数。其中三个字母是借用的腓尼基字母表中的旧字母,其余24个是希腊字母表中的字母。为了把数与字母区别开,在数的上面画一条横线。借助于27个字母及其组合可以表示1~999的数字。对于若干千的数,采用在1~9的符号左下方加一小直线的办法来解决。在其记数法中,可记的最大数是108。可见,这种记数法与简单累数制比较,不但对每一个较高的单位都要另设符号,而且对较高单位的倍数也设新符号。这种记数法可称为分级符号制,其好处在于表示数时比较紧凑,缺点是采用的符号过多。

通过上面的介绍,可以发现,有了进位制,表示数目的方法简化了。但是人们要不停地创造新的符号,才能表示越来越大的数目。因此单纯的进位制存在着明显的不足:其一,用这种方法当数大到一定程度,书写太过复杂,如古埃及人用他们的记数法来表示986这个数,至少要用23个符号;其二,用这种方法无法解决表示任意大数的问题;其三,由于记数的烦琐使得自然数的计算成为非常复杂的事情,这对算术和代数的发展显然是很不利的,从而严重阻碍了计算技术的提高。

在古代,人们生活中满足于一些不大的数。如三四千年前,遗留下来的埃及、巴比伦的数学文献中,把10000称为“黑暗”,意思是说,这样的数已经模糊不清,不能清楚想象了。以后,界限放宽到108,就是“黑暗的黑暗”,并说:“大过这个数(108)不是智慧所能了解的。”或许是这种对大数的缺乏必要,使古代许多民族在使用了进位制后竟然没有想到过完善它。不过,更令人惊讶的是,为了完善它竟然又花费了人类极其漫长的时间呢!这正是我们下面要提到的内容。

关键的第三步:位值制的使用

进位制的出现,表明人类抽象思维的能力有了进一步发展。但进位制仍然不能够完满地解决记数的问题。怎样才能用有限的几个符号来表示任意大的数目呢?人类还需要发明一种巧妙的办法来解决这一问题。

让我们先来想想我们现在是如何解决这一问题的。

举一个简单例子。比如在十进位中数“一千九百七十一”,我们现在记作1971,从右算起,1,9,7,1所在的位置分别称为个位,十位,百位,千位。出现在最左边的数字1由于处于千位上于是代表一千,而与右边的数字1表示不同的意思。你看,没有采用新的记数符号十、百、千等,我们也表示出了数“一千九百七十一”。这一奇妙的效果是如何实现的呢?道理说出来很简单,就是利用了数在书写时有“顺序”,即在写法上无非是从左到右,或者从右到左,或从上到下。于是记数符号本身有了位置的概念。也就是说,不但每个记数符号本身表示大小不同的数目,更巧妙的是同一个记数符号由于写在不同位置上,其数值大小就可以不相同而表示出不同的数目。或者说一个数字究竟表示什么数值,要看它在什么位置上。这就是“位值”的含义,而这种巧妙的方法就是位值制。位值制的奇特处之一在于它不用随着数的增大而采用不同的符号,而且使人们可以仅用比较少的数字来表示出任意大的数目。位值制是千百年来人类智慧的结晶,它可以同字母的发明相媲美。有些读者会说:发现这一点应该是一点也不难啊。但事实上,许多古代民族,虽然很早就创造了数字,懂得进位,却始终没有产生出位值制思想。而我们今天所使用的完善的位值制更是经历了极其漫长的时间与曲折的过程才最终建立起来的。或许由于一开始我们就接受了这种记数法,以致我们已经很难体味出其中的美妙处了。但我们却实在有必要去回顾一下古代人为了解决这一问题所经过的曲折历程并了解一下为何古代人对此的认识竟然如此晚。

较早使用位值制思想的是古巴比伦人,就让我们从他们开始。

古巴比伦人在数学和天文学上采用的——与我们的习惯完全不同——都是六十进位制。古巴比伦人在记数时采用了两个基本符号(用来表示1),一个(用来表示10),巴比伦人用这两个符号借助于前面已经提到过的简单累数制,可以记出60以下的数字。对于60以上的数怎么办呢?他们采用了位值制。如下图中的70,使用的仍然是上面的两个符号,只是表示1的符号放在了表示60的位置上,因此就表示了60。

这种记数法并不是纯粹的位值制。纯粹的60位值制需要使用60个不同的符号来代表60以下的数,正如我们现在的十进位值制中需要使用十个不同的符号一样。而巴比伦记数法60以下是用简单累数制的。因而我们应该说巴比伦记数法是简单累加制与位值制的混合。这样做的好处是仅需要用少量符号,而不用引入更多的符号。如果这样做能够完全起到后者所起到的效果,那我们应该说巴比伦人的做法实在是太聪明了。然而,事实是,两种制度并用往往会出现一些问题。其中最大的缺点是有时会分不清哪一个数码是在什么位置上。比如说:

究竟表示的是多少呢?它可能是3,也可能是180(3个表示1的符号都在60位上),还可能表示3661(1×602+1×60+1)。

对这一困难,古巴比伦人采用留下空白,即在容易混淆的地方间隔大一点的方式来解决问题。这倒不失为一种权宜之策。然而,马上出现的一个问题使他们的解决方案重新陷入尴尬之中。这一问题就是:如果出现某位上没有数字又怎么办呢?

这种情况下,最自然的想法——实际上,很多民族一开始面对这一问题时都是用了这种办法——是用留下空白的方式来解决。古巴比伦人也正是用留空位的办法来表示数字间某位上没有数的。但这种留出空白的方法对古巴比伦人却带来了新的问题。即:空白在巴比伦记数法中现在已经有了两种功能。除了用来分隔两个数码之外又用来表示空位。可以想象得到,这种办法在解决旧问题的同时也导致了新的混乱。

此外,由于古巴比伦人经常使用分数,而且分母总是常数60,但是他们并没有像现代的十进位分数部分的记号,而是与表示整数的记号混淆在一起。于是,一个数作为分数时,可以表示21/60,也可以表示20/60+1/602。这样一来,引起的麻烦更加严重了。有时一个记号就可能出现好几种理解。

这样,一个数的值往往依赖于所写的上下文,导致混乱完全是不可避免的了。

引入位值制思想,这是人类记数上的一大进步。然而,对于巴比伦人来说完整的位值制尚不能如此建立起来。除了由于累加制与位值制混合使用带来的缺陷外,他们还有更重要的一步要走。这就是:如何解决某位上没有数字这一问题。

对于我们这些一开始就接触符号0的人来说,一切似乎都是那么顺理成章,这种理所当然使得我们已经很难体会到许多事情的必要性了。比如说,102、1002、10002、120、1200……即便是小学生,也能非常容易地区分它们的不同。你有没有想过,我们为什么能够如此轻易地做到这一点呢?实际上,能够区分开它们不同,是因为我们发现在数1与2间零的个数不同。你有没有想过,如果我们没有零的记号,事情又会是什么样子呢?

早期很多民族都用空位的办法来表示零。12、12、12、12……面对这样的写法,你能区分出它们到底代表的是些什么数字吗?

在位值制中,为了表明某位置上有无空位,以及各个数字的位置,必须要有零的符号,否则就容易出现混乱。看看古巴比伦人在没有零的记号时,引起的记数上的混乱就可以更清楚地认识到零的重要性了。后来希腊人沿用了巴比伦人的六十进制,却放弃了位值的先进思想,这恐怕是主要原因。可见,符号零的使用是重要且极其必要的。

经过一千多年的摸索,到公元前二世纪,巴比伦人才发明了一个特殊的符号用它来表示数的某位是空的。这种符号,写法有好几种。但不管怎么说,引入这个符号后,对于某位上有没有数的问题是解决了。然而,在数学中他们却没有使用这个符号来表示末位数中出现零的情况,即像340、3400这样的数。因此这个零只具有现代零号的一部分功能,它无法指明数码所在的位置。奇怪的是,在他们的天文学上,这一零号却可以用在末位上。

现在想来,巴比伦记数法迟迟不创造零号,原因可能有三:一是零出现的频率较小,他们所采用的是六十进位制,只有60这个数必须用到0;二是六十进位制差一位就差60倍,较易从上下文来确定究竟表示什么;三是必要时用留出空档来表示空位。

这或许是人类普遍存在的惰性。如果对某件东西不是经常要用到,人们很难想到去完善它、改进它;即使经常要用到,如果有权宜之策,也不去考虑长久的周全之计呢!

基于位值制思想,在北美洲中部居住的玛雅人发明了的一种很有趣的二十进位值制记数法。用不着奇怪,形成二十进位制对于玛雅人来说其实是非常自然的。由于他们生活在热带丛林中,常常赤着脚,露出脚趾,遇到比10大的数时,他们就请脚来帮忙,就这样形成了二十进位制的记数法。这又可证实,大多民族后来使用十进制,只是因为他们穿上了鞋子的缘故。

在玛雅人的记数法中一共只有三个基本的符号。小圆点用来表示1,小短横用来表示5,另外还有一个卵形记号。有人认为,小圆点是石子的形象,小短横是木棍的形象,卵形记号很像个小贝壳。利用小圆点与小短横,他们表示出了20以下的数字,用的办法是累加记数法。这一点他们与古巴比伦人相似。当数目超过20时,他们利用了位值制的思想。可见,他们的记数符号并不独立,而是采用了累加与位值制的混合。为了避免引进混乱,对一个多位数他们采用了高位在上低位在下的分层写法。而最重要的是,玛雅人创造了零的符号,就是前面已提到的像一只贝壳也像半开的眼睛的记号。他们的零号既可以表示某一位置上没有数,也能用在数末,起到指明数码位置的作用。他们的零号已经具备了在记数法中零应有的两种功能。其稍微的不足在于,由于部分采用了累加制,使得记数较为烦琐。此外,其零号虽然已具有确定数码位置的功能,但其意义仍有含混之处。现今的记数法,加一个0等于将左边的数扩大成原来的10倍,但玛雅记数法加入零号,在普通记数法中扩大20倍,但在时间记数法中则为18倍。正如他们采用二十进位制有他们自身的道理一样,这样做他们想必也有自己其他方面如天文历法的考虑在内。我们所要做的结论是,其记数系统与古埃及、古巴比伦、古希腊罗马相比是相当先进的。极可惜的是,他们所创造的灿烂的古代文化并没有对世界的发展做出应有的贡献。

在粗略浏览了其他几个古代民族后,让我们回过来再去看一下我们中国古代是如何做的吧。

前面我们已经介绍过早在殷商时期,我国已采用了十进位记数法。这种记数法在记数方面是很有效的。但是如果涉及到数的计算,那么其不足处就显示出来了。针对于此,我国古代在运算中采用了一种新的记数法:算筹记数法。由于当时我国盛产竹子,于是人们采用了小竹棍来作为记数并计算的工具,这就是算筹。在两千多年前的春秋战国时期,算筹在中国人手里已经使用非常普遍,为人所熟知了。那么如何用算筹记数呢?为初学者便于琅琅习诵,后来的《孙子算经》、《夏侯阳算经》编有押韵的顺口溜,前者记:“凡算之法,先识其位。一纵十横,百立千僵,千十相望,万百相当。”后者又加了四句:“满六以上,五在上方,六不积算,五不单张。”当时记五或小于五的数:几根算筹就表示几,记六、七、八、九用一根筹,以一当五,放在上面,一至九,九个数表示法则有纵、横两式。《孙子算经》前两句说明数位在记数中的重要意义,后四句告诉我们自然数记法的一般规则:个位数用纵式,十位数用横式。从“一纵、百立、万、百相当”可知百位、万位都用纵式。“僵”就是卧倒,“千、十相当”,所以十位、千位都用横式。依此类推,交替使用纵横两式。《夏侯阳算经》所续四句话明确了以一当五算筹的用法:既不允许并排用六根筹记六,也不允许单独用一根筹,以一当五。

这种以算筹为工具的记数方法,显然运用了位置制的思想。另一个重要点仍然是如何记空位的情况。对此,解决方式是不放算筹,成为空档。初看上去,你或许会认为,这种留空位的办法与古巴比伦人是完全相同的,它会带来与其相同的混乱。但是,巧妙之处在于算筹记法有纵横两种形式,记数时纵横相间。因此空档是易于辨认的。对于个位是零的情况也能表示出来,一定程度上避免了可能出现的混淆。但严格说起来,这种记数法仍然在理论上存在着不足之处。如对连续空位较多,或者末位有多个零的情况,并不能清楚表示出来。或许是这类情况较少出现,或许是人们在运算中可以通过其他方式避免这种混乱,不管是出于什么原因,我国古代都没有对此进行过进一步的完善。但即使如此,我们仍然可以说,我国是采用较完善的十进位值制记数法最早的国家。这种完善性的最好是证明我国古代数学由于采用这种筹算法而在计算方面大大超过了其他的古代民族。

算筹与筹算

算筹产生于何时,无可靠记载。据推测,我国大约从西周开始使用竹筹在毡毯上或在算板上进行各种运算。到春秋战国时代,这种算具已很普及。当时一些著作如《老子》、《荀子》中都出现了“算”、“筹”等词。自西周直到宋、元,在长达二千年历史时期内,算筹一直是我国社会各行各业通用算具。在珠算盘发明以前它是中国独创的并且是最有效的计算工具,也是当时世界上最简便的计算工具。对于这一点,当下面我们提到西方所使用的计算工具时作一比较就更明显了。

用算筹为工具的运算方法称为筹算。中国古代数学一开始就和算器的使用密不可分,以致可以用“筹算”二字来代表中国古代的数学。正是独特的算筹的使用影响并决定了中国古代数学的发展。

首先,算筹的使用使我国古代形成了强烈的位值制观念。它不仅在筹算记数法中有所体现,事实上,位值制在中国筹算数学中有着更为重要的应用。如我国古代解线性方程组(即多元一次方程组,如初中所学习的二元或三元一次方程组)时,由于使用算筹,将未知数与系数分离开表示,分离系数法表示出了方程的各行各未知数的系数及常数项,而不必写出物品的名称,这与现今的矩阵表示法相近。筹式以不同的“位”代表意义不同的“量”;以不同的位置关系表示特定的数量关系。在这些筹所规定的不同“位”上,可以布列任意的数码。这种做法在筹算中实在是顺理成章的事情。由此,我国古代方程诸术中列筹式描述了实际中常见的比例问题和线性问题;而用算筹摆出的天元、四元诸式,则刻画了高次方程问题。算筹所表示对象也由数发展到式,这样筹式本身就具有了代数符号的性质。可以认为,中国古代的筹式就是一种特殊的代数符号系统。李约瑟称之为“位置的代数学”。他写道:“在演算过程中,筹算盘上的数字是按照它们所代表的量的类别(未知数、幂等)而占有一定的位置的。一种稳固的、划一的数字图式体系就建立起来了。”而这些都是借助于算筹摆放位置的不同而天然地具有了不同的含义而实现的,都可以看作是位值制记法。这种记法大大简化了数学表达式,简化了运算,使中国人的计算才能得以更充分地发挥。自汉迄元,计算数学在中国越来越发达,中国古代数学亦长期处于世界领先地位,这都不能不归之为优越的位值制原理的使用,从而也不能不归功于算筹的使用。

此外,中国古代数学家还用筹算发展了一套内容十分丰富的“筹式”演算。他们通过摆弄算筹来解决复杂的实际应用问题,得到了解线性方程组、高次方程等的方法。又由于这种方法要以是否适合筹算为转移。这样计算的方法就需要有一定的程序,按照一定的程序摆筹解题。程序的获得过程、按程序解题、摆放算筹等都是方法。而这种具有模式化与程序性的方法,现在被称为算法。于是我们可以说筹算具有算法的机械化的特点,或者说中国的筹算本身就是一个算法体系,它集计算技术与数学原理于一身。这正是我国古代数学的一大特点。

历史表明,先进的记数法与计算工具算筹的使用成为中国古代数学长于计算并取得辉煌成就的前提条件,并使中国古代在计算技术方面居于世界遥遥领先的地位。筹算以后发展为珠算。明代以来,珠算广泛应用于商业等实际部门,使中国传统数学依赖算器,发展计算技术的特点表现得更为充分。当然,由于中国筹算的优越性,在客观上抵制了笔算的发展,不便于数学的符号化和理论的深入,这可以说是过分依赖算器的副作用。

在另一方面,我国古代在书写中,开始是用空位来代表零,后来用“空”字代表零。这无疑比留一个空位要好得多。数位清楚了,不会引起误会。这是数学史上零的表示法的一大进步。不过,空字夹在数的符号里,毕竟显得很不协调,于是又出现了用囗表示零。南宋蔡元定著的《律吕新书》中就曾把118098记作:十一万八千囗九十八。用它代替空表示零,不仅简便,和谐,更重要的是它已经是一个数字的符号,标志着用符号表示零的新阶段的开始。到了宋元时期,用O表示零已普遍运用,这大概是囗写快了,就成了O。例如金的《大明历》(1180年)中把505写成“五百O五”。用“O”表示零,既容易写,又美观,这是我国数学家的独创。

然而,令人遗憾的是限于当时思想交流的困难,我国古代所使用的位值制没有对世界数学的发展作出应有的贡献。

现在世界上所通用的记数法,来源于印度,是印度人的贡献。

印度人大约在公元前3世纪才开始使用记数符号,以后逐渐地形成了十进制记数系统,在大约公元6世纪前开始采用位值制。他们创造了十个互相独立的符号,这是完善的十进位置制必不可少的重要内容。然而,印度人的伟大的变革之处是零符号的发明。后来的事实证明这是数学史上的一件大事。不过,完成这一步对于印度人来说也并不是一蹴而就的。

最初他们没有表示零的记号,也是用空一格的方式来表示空位的,后来为了避免看不清,就在中间加上小点。他们所用的小圆点的记号,名称叫“苏涅亚”,意思是空。如果两个数码间有一个“·”记号,就表示这是一个三位数,这个三位数的中间那位数上“一无所有”。小圆点相当于现在的零号。至于现代使用的椭圆零符号“0”最早是在公元876年中印边界一块石碑上发现的。

公元773年,印度数字开始传入阿拉伯国家。后来,花拉子密写成《印度的计算术》,这是第一部用阿拉伯语介绍印度数字及记数法的著作。由于当时没有印刷术,数字全凭手写,字体因人因地而异,变化很大,东、西阿拉伯就很不相同。西部较接近现代写法,但没有0,东部字体逐渐固定下来,至今许多伊斯兰国家仍在使用。

印度数字后来经阿拉伯又传入欧洲,但在这一过程中0却迟迟没有被广泛采用。热尔贝是法国有名的学者,991年成为兰斯的大主教,999年又成为教皇。他将印度-阿拉伯数字介绍到欧洲,对促进印度-阿拉伯数字的使用产生过一定的影响。但他却不知道0。正式介绍包括0在内的印度-阿拉伯数字到欧洲的是斐波那契。

斐波那契:意大利数学家(约1170~1240),被誉为西方中世纪第一个伟大的数学家,使西方数学开始了一个新的时期。他早年游历了许多东方和阿拉伯城市,了解了不同国家和地区在商业上的算术体系,通过比较他发现印度-阿拉伯十进制系统美丽的数字具有的价值,并积极地提倡使用它们。公元1202年,他完成了自己的名作《算盘书》。在这本广博的书的前几章,他解释了位值制原理、整数和分数的各种计算方法,说明了怎样应用印度-阿拉伯数字,以及如何用它们进行加、减、乘、除计算和解题。这本第一次正式向欧洲人介绍印度数字的著作问世后广为传播,为印度-阿拉伯数字和阿拉伯数学在欧洲的流传起了极其重要的作用。

在斐波那契所著的《算盘书》一书的开头写着:

“这是印度的九个数字:987654321

还有一个阿拉伯人称之为零的符号0,任何数都可以表示出来。”

为斐波那契广泛传播的印度阿拉伯记数法,具有明显的好处。除了记号紧凑,能表示任意自然数外,用它计算容易而精确,但令人感到奇怪的是它并没有马上受到普遍的欢迎。事实上,从11世纪引入到被普遍接受的15世纪,经过了几个世纪。在这一变革过程中,阻力有的来自于数学内部,有的来于数学外部。在数学内部,墨守陈规的珠算家和主张改革的笔算家之间经历了长期的斗争。在数学外部,有些地方阿拉伯数字不许用在公文上;又有些地方,这种方法完全被禁止了。如1299年,意大利曾禁止弗罗梭丁的商人使用这一数字,下令必须用罗马数字或文字记帐,原因是易出差错或被涂改。这种情形有如在我国规定票据要用大写数字一样。从13世纪意大利的文献中可找出很多证据说明当时的商人把阿拉伯数字用来作为一种密码。不过,事情的发展正如人们所熟知的那样,保守的方式或禁止的办法只能延迟却不能完全阻止伟大的变革。在经历了通常难以避免的蒙昧的和反复的阶段后,新记数法的优越性在16世纪已经无可争议了。

当新的记数法得到更为广泛的传播后,人们开始注意到零在新数制中所占的重要地位,他们把整个数制和它的主角零的概念cifra等同起来了,以致于在今日欧洲这个字的不同形式ziffer,chiffre等等都具有了数字的意义。由于在欧洲人的印象中,这些数字来自阿拉伯国家,所以他们就称其为阿拉伯数字;17世纪以后,欧洲数学在全世界占了统治地位,世界各国都向他们学习数学,包括阿拉伯数字这样的名称也随之传开并沿用下来。正如我们已经提到的,其实这一称呼并不恰当,它是世界数学发展史上的一个大误会。如果顾名思义,认为阿拉伯数字就是阿拉伯国家的数字,那可就大错了。为了准确起见,我们还是称之为印度-阿拉伯数字更合适些。在这一过渡阶段中,数字的外形发生了一系列的改变,到16世纪才逐渐固定下来。当印刷术采用后,数字就被完全定形成现在我们所熟悉的样子了。

无论如何,在历史上屡经变迁后,以印度-阿拉伯数字为记数符号的十进位值制记数法——这让我们早已习以为常视为常识般简单的东西——在人类花费了巨大的难以置信的劳动并经过了漫长的时间后,终于最后建立起来了!它们既是人类智慧的结晶,又是数学文明的开始。现在,世界各个角落,无论大人小孩,无论讲什么语言,用阿拉伯数字和十进位置制运算都是一致的。

拉普拉斯曾总结说:“用十个记号表示所有的数,每个记号不但有绝对的值,而且有位置的值,这种巧妙的方法出自印度。这是一个深远而重要的思想,今天看来它如此简单,以致我们忽视了它的真正伟绩。但恰恰是它的简单性以及对一切计算都提供了极大的方便,才使我们的算术在一切有用的发明中列在首位;而当我们想到它竟逃过了古代最伟大的两位数学家阿基米得和阿波罗尼斯的天才思想的关注时,我们更感到这个成就的伟大了。”“用很少的几个符号来表示一切数目,使符号除了具有形状意义外,还具有数位的意义。这一思想如此自然,如此使人容易理解,简直无法估计它的奇妙程度。”

当我们回顾这一美妙记数法的建立过程时,会意识到符号零的引入具有重大意义。在完整的位值制中,零号是不可少的,零是位值制记数的必然产物,也是位值制记数法的精要所在。事实上,正如前面已经提到的,作为位值制记数法精髓的零,历史上,它的出现比位值制又晚得多。从第一个数字符号开始记数到想出一个表示无的符号,花费了人类大约五千年的时间。但无的符号却使世界整个改了观!有了零,记数系统才得以广泛运用,它使数字的运用发生了革命!

零这代表空无一物的东西,竟具有震动世界的重要性,说起来真叫人觉得奇怪;而更令人奇怪的是,多少伟大的数学家,竟让零从他们眼皮底下溜走。

也许有的读者早已经在心里暗想:唉,这有什么难的?要是当初有我,这一点小发明早就出现了。对于如此想的读者,我想讲述一个有趣的故事。

1492年,哥伦布从西班牙出发,历尽千辛万苦,终于发现了美洲新大陆,他在1493年返回西班牙后,受到了群众的欢迎和王室的优待,也招致了一些贵族大臣的妒忌。

在一次宴会上,有人大声宣称:“到那个地方去,没有什么了不起,只要有船,谁都能去。”

哥伦布对这个挑衅性的话并没有回击,只是随手在餐桌上拿起一个熟鸡蛋说:“谁能把鸡蛋竖起来?”许多人试了又试,都说不可能。

哥伦布将鸡蛋壳在桌子上轻轻地敲破了一点,就竖了起来,于是又有人说:“这谁不会?”

哥伦布说:“在别人没有做之前,谁都不知怎么做,一旦别人做了之后,却又认为谁都可以做。”这就是流传了400多年的哥伦布鸡蛋的故事。哥伦布的这句话,由于寓意深刻,也便成了世界名言。

凡事都是开创时困难,别人开了头,仿效是容易的。实际上,零的诞生正是一个这样的典型例子。在发明之前,谁都想不到,一旦有了它,人人都会用它来记数。数学史家把0比作“哥伦布鸡蛋”,这不仅仅是形状相似,其中还孕含着深刻的道理。真是一个一语双关的绝妙比喻。

有了零,有了位值制,在十进位制中我们就能够用十个数字表示出任何自然数了!只用有限个符号就能够驾驭无穷多个数,就可以方便、清楚地表示出所有的自然数了。你有没有为此感到过惊奇呢?无怪乎革命导师马克思曾把十进位值制记数法称为人类“最妙的发明之一”了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈