零作為數(shù)字的歷史很短很短,宋朝數(shù)學(xué)里沒有零,元朝和明朝數(shù)學(xué)里也沒有零。小說家施耐庵生活在元末明初,他寫《水滸傳》,寫到梁山泊好漢人數(shù),通常是“一百八人”或者“一百八員”。
例如該書第七十回,宋江先打東平府,再打東昌府,回到山寨,對眾弟兄說: “共聚得一百八員頭領(lǐng),心中甚喜?!?/p>
再比如第七十一回,宋江率領(lǐng)大家在忠義堂對天盟誓,誓詞是這么說的:“宋江鄙猥小吏,無學(xué)無能,荷天地之蓋載,感日月之照臨,聚弟兄于梁山,結(jié)英雄于水泊,共一百八人……”
還有第八十二回,太尉宿元景回奏:“宋江等軍馬,俱屯在新曹門外,聽候圣旨?!彼位兆谡f:“寡人久聞梁山泊宋江等有一百八人,上應(yīng)天星……”
近現(xiàn)代說書人演繹《水滸傳》,張口閉口“一百零八條好漢”,這其實(shí)是清朝以后才有的說法,清朝以前只能是“一百八條 好漢”,沒那個“零”。20世紀(jì)初,考古人員在甘肅敦煌千佛洞發(fā)現(xiàn)唐朝數(shù)學(xué)文獻(xiàn)《立成算經(jīng)》,里面記錄錢幣數(shù)字108 文,也是寫成“百八文” (圖1-1),而不是“一百零八文”。圖1-2 為日本早稻田大學(xué)圖書館所藏水滸畫冊: 《清陸謙畫水滸百八人像贊臨本》。
圖1-1 唐朝數(shù)學(xué)文獻(xiàn)《立成算經(jīng)》
將108 文寫作“百八文”
▲圖1-2 《清陸謙畫水滸畫百八人像贊臨本》
我們必須說明,中國古籍里并不是沒有零,只不過,那些零的含義與數(shù)字無關(guān)。它們有時是“凋零”的零,有時是“零散” 的零,有時是“掛零”的零。它們可以有“滴落”的意思,可以有“細(xì)碎” 的意思,可以有“附加”的意思,卻沒有“一減一等于零,零加零還是零” 的意思。
其實(shí),不只是古代中國沒有數(shù)字零,古希臘、古羅馬和古埃及也沒有數(shù)字零。在任何一個古典文明時代,一切數(shù)學(xué)概念和數(shù)學(xué)技能都是因?yàn)閷?shí)際需要,才被發(fā)明出來的,而零在很長時期內(nèi)都沒有被發(fā)明的必要。什么是零?不就是空無所有嗎?每個數(shù)字都被用來計(jì)算那些實(shí)實(shí)在在的東西,空無所有的東西憑什么需要數(shù)字呢?空無所有的數(shù)字怎么能夠進(jìn)行計(jì)算呢?
數(shù)字被用來描述實(shí)有,虛空之物不需要數(shù)字,這是非常樸素的想法,自自然然,水到渠成。認(rèn)識不到零很正常,認(rèn)識到應(yīng)該有零,那才叫稀奇古怪、異想天開。
沒有零,一樣記數(shù)和計(jì)算
現(xiàn)代人寫數(shù)字和做運(yùn)算,絕對離不開零。11+19=30,一個零出來了。111- 11=100,兩個零出來了。古代中國、古希臘、古羅馬、古埃及都沒有零,先民們?nèi)绾斡?jì)算?如何進(jìn)位?如何用數(shù)字表示幾十、幾百、幾千、幾萬呢?
早期文明的數(shù)字符號告訴我們,即使沒有零,一樣可以表示很大的數(shù)字,只不過表示方法要復(fù)雜一些。
以古埃及為例(圖1-3):1 的符號是一豎,像一根棍子;2 的符號是兩豎, 像兩根棍子;以此類推,3 是三根棍子,4 是四根棍子,5 是五根棍子……到了10,符號變成一道拱形(據(jù)說這個符號是一只踝骨),好像字母n,又像集合運(yùn)算符號里計(jì)算交集的∩。然后呢? 11 是一道拱加一豎,12 是一道拱加兩豎,13 是一道拱加三豎……到了20,用兩道拱來表示;30 是三道拱,40 是四道拱,50是五道拱……100 呢?被寫成一個曲里拐彎的符號,仿佛缺了左下角的8,又仿佛是頭朝上的小蝌蚪。
比100 還要大的數(shù)字,古埃及人也能寫出來,例如1000 像一支火炬(也有人說這是一朵蓮花),1 萬像一根手指,10 萬是一只神鳥,100 萬是一個單膝跪地、雙手投降、仿佛被這個巨大數(shù)字嚇怕了的人(圖1-4)。
▲圖1-3 古埃及數(shù)字:1 到100
▲圖1-4 古埃及數(shù)字:1 到100 萬
古埃及人如果要寫1023047 這個數(shù)字,會畫一個受驚嚇的人,表示100 萬; 再畫兩根手指,表示2 萬;再畫三支火炬,表示3000;再畫四個拱形,表示40;最后畫七根棍子,表示7。整個數(shù)字寫出來,會是如圖1-5 的樣子。
▲圖1-5 用古埃及數(shù)字表示1023407
古埃及數(shù)字是象形符號,古希臘和古羅馬則用字母表示數(shù)字(圖1-6)。在古希臘,1 寫成Α,2 寫成Β,3 寫成Γ,4 寫成Δ,5 是Ε,6 是,7 是Ζ, 8 是Η,9 是θ,10 是Ι,11 是ΙΑ,12 是ΙΒ,13 是ΙΓ,14 是ΙΔ…… 20 寫成Κ,21 寫成ΚΑ,22 寫成ΚΒ,23 寫成ΚΓ,100 寫成Ρ。如果想寫108,那就是ΡΗ,中間不需要一個表示零的符號。
▲圖1-6 古希臘數(shù)字與阿拉伯?dāng)?shù)字對照表
相對而言,我們對古羅馬數(shù)字更加熟悉,生活當(dāng)中也能見到它們。在一些鐘表上,從1 點(diǎn)鐘到12 點(diǎn)鐘,分別用Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅵ、Ⅶ、Ⅷ、Ⅸ、Ⅹ、Ⅺ、Ⅻ來表示。而那些稍大一些的數(shù),會被寫成不同的字母或者字母組合,例如50 是L,100 是C,500 是D。古羅馬人想記錄一個數(shù)字,先看這個數(shù)能不能對應(yīng)一個現(xiàn)成的字母,如果不能,那么分解這個數(shù),把它分解成幾個字母(圖1-7)。
▲圖1-7 古羅馬數(shù)字與阿拉伯?dāng)?shù)字對照表
比如說,要寫100,用一個字母C 就行。要寫200,就得寫成CC。寫230呢? 因?yàn)?30 等于100+100+30, 而30 又等于10+10+10,100 的對應(yīng)字母是C,10 的對應(yīng)字母是X,所以230 被記作CCXXX。再比如732,可以分解成500+100+100+10+10+10+2,其中500 用D 表示,100 用C 表示,10 用X,2 用Ⅱ,732 會被寫成DCCXXX Ⅱ。像這樣的數(shù)字系統(tǒng),記錄繁瑣,識別易錯,計(jì)算之時更加令人頭疼(不能像阿拉伯?dāng)?shù)字那樣將不同數(shù)字的相同數(shù)位對應(yīng)起來,以便加減乘除),但自始至終都不需要有零參與。