宋神宗
宋朝人用漢字表述數字時,有時會很怪異。
宋神宗在位時,有一個掌管御廚房的官員向神宗報告一年來的食材支出:「羊肉四十三萬四千四百六十三斤,豬肉四千一百三十一斤……醋一千八十三石,諸般物料八萬三百一十斤。」
羊肉434463斤,被寫成「四十三萬四千四百六十三斤」,跟現在寫法相同。
豬肉4131斤,被寫成「四千一百三十一斤」,也跟現在寫法相同。
醋1083石,讓我們讀或者寫,必須是「一千零八十三石」,但是宋朝官員漏掉了零。
諸般物料80310斤,讓我們讀或者寫,必須是「八萬零三百一十斤」,宋朝官員又把零給扔了。
南宋初年,避居江南的書生袁頤考察大宋人口變遷:「國初,杭粵蜀漢未入版圖,總戶九十六萬七千五百五十三。至開寶末,增至二百五十萬八千六十五戶。」北宋初年,全國共有967553戶;宋太祖開寶末年(976年),增長到2508065戶。2508065,現在應該寫成「二百五十萬八千零六十五」,袁頤寫的是「二百五十萬八千六十五」,還是沒有零。
零作為數字的歷史很晚很晚,宋朝數學裡沒有零,元朝和明朝數學裡也沒有零。小說家施耐庵生活在元末明初,他寫《水滸傳》,寫到梁山泊好漢人數,通常是「一百八人」或者「一百八員」。
例如該書第七十回,宋江先打東平府,再打東昌府,回到山寨,對眾弟兄說:「共聚得一百八員頭領,心中甚喜。」
再比如第七十一回,宋江率領大家在忠義堂對天盟誓,誓詞是這麼說的:「宋江鄙猥小吏,無學無能,荷天地之蓋載,感日月之照臨,聚弟兄於梁山,結英雄於水泊,共一百八人……」
還有第八十二回,太尉宿元景回奏:「宋江等軍馬,俱屯在新曹門外,聽候聖旨。」宋徽宗說:「寡人久聞梁山泊宋江等一百八人,上應天星……」
近現代說書人演繹《水滸傳》,張口就是「一百零八條好漢」,這其實是清朝以後才有的說法,清朝以前只能是「一百八條好漢」,沒那個「零」。20世紀初,考古人員在甘肅敦煌千佛洞發現唐朝數學文獻《立成算經》,裡面記錄錢幣數字108文,也是寫成「一百八文」,而不是「一百零八文」。
我們必須說明,中國古籍裡並不是沒有零,只不過,那些零的含義與數字無關。它們有時是「凋零」的零,有時是「零散」的零,有時是「掛零」的零。它們可以有「滴落」的意思,可以有「細碎」的意思,可以有「附加」的意思,卻沒有「一減一等於零,零加零還是零」的意思。
偌大一個中國,堂堂幾千年文明,怎麼就認識不到零也是一個數字,並且還是一個非常關鍵的數字呢?
其實,不止是古代中國沒有數字零,古希臘、古羅馬和古埃及也沒有數字零。在任何一個古典文明時代,一切數學概念和數學技能都是因為實際需要,才不得不發明出來的,而零在很長時期內都沒有被發明的必要。什麼是零?不就是空無所有嗎?每個數字都被用來計算那些實實在在的東西,空無所有的東西憑什麼需要數字呢?空無所有的數字怎麼能夠進行計算呢?
數字用來描述實有,虛空之物不需要數字,這是非常樸素的想法,自自然然,認識不到零很正常。
現代人寫數字和做運算,絕對離不開零。11+19=30,一個零出來了。111-11=100,兩個零出來了。古中國、古希臘、古羅馬、古埃及都沒有零,先民們如何計算?如何進位?如何用數字表示幾十、幾百、幾千、幾萬呢?
唐朝有一位僧人數學家,法號一行,他喜歡用「空」表示空白數位,將11011寫成「一丨空一丨」。宋朝理學家蔡沈撰寫樂書《律呂新書》,則用「□」表示空白數位,11011被寫成「一丨□一丨」。
蔡沈《律呂新書》第一卷,用漢字寫數字,也用到「□」:
黃鐘十七萬七千一百第十七;
林鐘十一萬八千□□九十八;
太簇十五萬七千四百六十四;
南呂十□萬四千九百七十六……
黃鐘、林鐘、太簇、南呂,都是樂律名稱,樂律後面的數字是樂器長度值。黃鐘177117,太簇157464,數位上都沒有0,無需用「□」。南呂104976,萬位是0,蔡沈用了一個「□」。林鐘118098,百位是0,蔡沈用了兩個「□」。為什麼用兩個「□」呢?在這裡並無特殊含義,僅僅是為了讓四行文字上下對齊,看起來更規整而已。如果一個方框只能表示一個0,那麼「林鐘十一萬八千□□九十八」就得改成「林鐘十一萬八千□九十八」,少一個字符,看上去比其他樂律短一節,不美觀。
僅僅為了美觀,就在數字當中隨意增添或者減少佔位符,這也說明蔡沈使用的「□」不是真正的0。
南宋數學家秦九韶著有《數學九章》一書,首次出現「○」這個佔位符,例如409寫成「四百○九」,505寫成「五百○五」。這個正圓的○與阿拉伯數字裡扁圓的0有些相像,看起來都是圓圈,但它卻不讀「零」,而讀作「空」。
元朝天文學家郭守敬著《授時曆》,明朝數學家程大位著《算法統宗》,都普遍使用○。郭守敬用「八十〇〇六」表示80.06,前一個○相當於小數點,後一個○相當於空白數位。程大位用「二十九兩五錢五分〇〇一絲」表示29兩5錢5分0釐0毫1絲,即29.55001兩,其中的兩個○都相當於空白數位,表示在「釐」和「毫」這兩個貨幣單位上,金額是空無所有的。
如前所述,中國數學古籍裡的○不是真正的0,它只是佔位符,用來填補算籌之間那一小片空白的佔位符,它的讀音也不是「零」,而是「空」。
在中美洲,已經消亡的古老而神秘的瑪雅文明也發明過一套數字符號,也發明了類似於○的佔位符。這套數字符號是這樣的:
一個點表示1,兩個點表示2,三個點表示3,四個點表示4,一橫表示5,一橫上面加一點表示6,一橫上面加兩點表示7,一橫上面加三點表示8,一橫上面加四點表示9,兩橫表示10,兩橫加一點為11,兩橫加兩點為12,兩橫加三點為13,兩橫加四點為14,三橫為15,三橫加一點為16,三橫加兩點為17……如果某個較大數字的某個數位上是0,則用一個貝殼符號(一說是眼睛)來表示。
早期蘇美爾人既沒有0,也沒有佔位符,只能在數與數中間空出一小段距離,表明那個數位上沒有數值。大約兩千年前,兩河流域的居民搞出來一個佔位符。這個符號就像一個向右臥倒的A,但是其中一划格外長,它放在哪個位置,就表明那個數位上沒有數。
從兩河流域到美洲中部,從古代中國到古希臘、古羅馬、古埃及,都沒有把零發明出來,僅僅搞出了幾個能像現在多位數裡的0那樣起佔位作用的佔位符。
李開周 來源 汴梁晚報
編輯 周章龍
編審 王寧