【改變世界的數字】「零」的誕生
作者:徐悅禾

數學的概念深植於當今社會文化中,從計算時間、進行金錢交易,到電腦的運算和投票的制度,它無處不在。如果不使用數字,生活將會有許多的困難,我們就不會有今天的科技、政府將無法收稅、教徒不能準時祈禱、商人也做不成買賣。使用數字彷彿理所當然,於是我們少有機會反省數字本身的意義,更少有人注意到它們的來源和對人類世界的影響。

也就是說,我們活在一個由數學建構的社會中卻不自知。

事實上,「數量」的概念出現在人類社會中是很自然的,從上古時期,人類就會衡量自己一天要吃多少食物才不會餓死,經過幾次日出日落天氣會開始轉涼,要抓多少獵物才能讓自己和同伴都分到一杯羹。如果說,數字作為數學語言的基本符號,可以稱得上是其基礎的話,那欲探求數學的根本,就必須往回追溯數字的起源。我們將會發現,這一切的發生並不是那麼理所當然,而是經過了數不清的變革,才造就了今日這個方便又完整的數字系統。

在這個系統中有一個特別奇妙的數字,它的出現顛覆了人們的世界觀,改變了神學、哲學、科學、甚至藝術史,為人類文明帶來了重大的衝擊,這個震懾古今的數字就是──零。

「數」概念的出現

數的概念起源於數羊、時間的推算與財產的紀錄等需求。1930 年代晚期,考古學家卡爾‧艾伯索倫(Karl Absolom)發現了一根三萬年前的狼骨,上面一系列的刻痕顯示當時候的人已經會算數了。人們為了記下數目而發明了一些記數符號(或文字),有些文明甚至在發明書寫前就找到紀錄數字的方法,如沒有文字的印加人便用「結繩」法,在繩子上打結來記錄計算結果。

考古學家卡爾‧艾伯索倫(Karl Absolom)發現的三萬年前狼骨

早期的人類可能還不會處理太複雜的數目(或者他們還沒有需要這麼做),但隨著時間的推移,原始語言開始出現「一」和「多」的分別。及至今日,仍有部分語言中僅用多和少來分別數量的差異。玻利維亞的西利歐那印地安人(Siriona Indians)和巴西的亞拿馬族(Yanoama)便是如此。他們的語言中只有「一、二、三」和「許多」,沒有我們習慣的數字系統,但由於數字可以相加,數字系統的未來擴大並不難想像。

進位的發明

數字增加的方法之一,就是進位。

巴西的巴凱瑞族(Bacairi)及博洛洛族(Bororo)的語言中只有一和二兩個數字,聰明的族人於是使用「一」、「二」、「二加一」、「二加二」、「二加二加一」以此類推的方式計算,即使存在的數字符號很有限,靠相加的方式也可以成為完整的計數系統。甚至到今天,這種系統在許多領域中仍然極其重要,電腦使用的計算方式就是最好的例子。

這種方式類似於我們今天所謂的「二進位」系統。然而,相對於二進位系統,五進位和十進位系統常見得多,例如那根狼骨上所使用的就是五進位,古希臘人甚至將「五」這個字當作動詞表示計算的過程。日耳曼語系的語言是使用十進位;法語則將八十寫作「四個二十」(quatre-vingt),可能是當地早期使用二十進位的痕跡。至於為什麼用五、十、二十的進制,這完全是主觀的決定,最合理的推論應該是因為人的指頭數量方便進行這種進制的計算。

數字紀錄系統的演變

有了數量的觀念,下一步就是要把口述的數目記錄下來。

這並不難,但當人們開始記錄較大的數目時,就會發現更簡易符號的必要。早在五千多年前,還沒有金字塔時,古埃及人就設計了一種抄寫十進位系統的方式,用不同的圖畫代表一、十和百,以此排列不同的組合紀錄來表現很大的數目,像是 231,此後不再需要刻下兩百三十一條線,只需要兩個「百」的符號、三個「十」的符號和一個「一」的符號,就可以表現。

到了希臘時代,希臘人延續了這種計數模式,只不過他們用的是字母而非圖形,也發明了更多的符號來表現數字,例如 200、30 和 1 都各有不同的符號表示。也就是說,希臘的系統不再需要用 6 個符號來表示 231,只需要一個 200、一個 30 和一個 1。雖然使用這種系統需要記憶更多更複雜的符號,但使用起來比埃及系統的計數方式簡易許多。沒想到承繼了希臘系統的羅馬數字,卻又走回埃及式的方法,231 計做 CCXXXI,本來三個符號的數目,又回到了6 個符號。

希臘數字在古代已經是很先進的系統了,但當時還有一種更先進也更快速的計數系統,那就是巴比倫的數字。

巴比倫的數字 (Source: Josell7 / CC BY-SA)

巴比倫的計數系統和上述其他文明都不一樣,巴比倫採用的是 60 進位。希臘系統中,每個符號表示一個數字,而巴比倫系統中的符號所表示的是一個乘積,也就是說,同一個數字可以表示 1、60、3600 等,依此類推到無窮多。那我們要如何判斷這個符號所在的位置是十位、百位還是千位呢?

零是這個問題最有效的解決方案,只要在數字後面補上零,數字就有了新的意義。在巴比倫數字之前,零的概念還沒有出現,因此巴比倫人只是先將零的位置空下來,但巴比倫的數字系統給了「零」一個出現的好機會。

「零」的首度亮相

約在西元前 300 年,巴比倫人開始使用特定的楔形文字來代表數目上的空白處,也就是我們今天會補上 0 的位置。這是西方最早期出現的零的痕跡。然而,這個相當於零的楔形文字,在當時還只是個用來確認位數的位置記號,它為左邊的數字帶來意義,但本身並不代表數值;而當它單獨存在時,所表示的是「無」。

這種空位的問題,也同樣出現在中國。《孫子算經》中說:「凡算之法,先識其位。一從十橫,百立千僵,千十相望,萬百相當。」 也就是說,中國人用十進位,縱橫相間擺放算籌,以分辨不同位數,空的位數則和巴比倫一樣用空格代替。看到這裡,大家可能會困惑,若是同時空兩位以上怎麼辦呢?

《孫子算經》(Source: wikipedia)

事實上,算籌只是計算工具,不兼具記錄功能,且它像今天的算盤一樣是有固定位置的,即便要預防萬一糊塗而擺放其他物品在其中,也未必不可行,只要計算上方便就好了。因此,中國數字的紀錄還是用文字,每個位數皆有自己專門的名字,在計算上的空位並不會造成困難。

由上可知,「算」和「寫」是兩回事,表述數字的語言和文字也是兩回事。計算所使用的工具有時會遇到空位的問題(如算籌),但也有時候不會(如算盤)。語言的位數則因為有固定的名稱,也不會遇到空位的問題,例如「兩百八十七」。先秦文獻中亦有使用「有」(通今日的「又」)表示「多」或是「加」之用法,例如「十有五」表示十五、「二百有七」表示兩百零七。

一直到設計了適合「筆算」的數字書寫系統後,「算」和「寫」才連成同一回事。但因為古代書寫系統並不方便,不是每個人都隨時有條件能書寫,因此筆算的數字系統出現得較晚。這種集算和寫之便利於一身的數字系統,對於較複雜的計算和紀錄確實大有幫助,除了讓人們使用上更方便,也使得數學可以更迅速的發展。

「零」可以說是數學史上的一大發明,它的出現為巴比倫數字系統帶來了重大的歷史意義。可惜的是,希臘人對於巴比倫這一項偉大的發明一點都不欣賞,他們認為零很危險,因此拒絕將零納入自己的數字系統中。直到零傳到了印度,零的概念才得到重視。

東方對零的態度

印度數字系統的起源已不可考,在古代的文獻中也沒有出現明顯使用零的痕跡,但可以確定的是,羅馬帝國時期,亞歷山大入侵印度時,也隨之帶來了埃及、希臘及巴比倫的數學。在西元五世紀時,印度由希臘的數字系統改變為巴比倫系統,唯一的差距是:不同於巴比倫的 60 進位制,印度採用的是 10 進位制。西元六世紀,數字「零」正式出現在印度的數字系統中。印度的哲學接受空無的概念(同樣在東方的中國亦是),印度人沒有希臘人對零的排斥和恐懼,印度人甚至讓零在數線上有了自己的位置,也就是說,零不再只是位置符號,它還有了屬於自己的數值。

除了接受當時的前衛思想「零」之外,印度人也接受負數的概念。他們不像希臘人對幾何有近乎瘋狂的著迷,反而將數字抽象化,使其不再只是幾何學的婢女。印度人甚至會玩數字遊戲,在希臘人打死無法想像從2畝地中拿掉3畝地是什麼樣怪異的概念時,東方人早已欣然接受2-3=-1。至此,我們今天所熟悉的數線已經成形。

西元七世紀,羅馬帝國崩潰,東方的伊斯蘭勢力逐漸昌盛。知識和文明的進步終究逃不過武力的征討,伊斯蘭征服了印度,大量將印度的智慧和文明翻譯為阿拉伯文,數字當然也不例外。於是,這套印度數字系統又隨著征服者和商人重新傳回到西方,逐漸演變為我們今天所謂的「阿拉伯數字」。(待續)

首圖來源:duncan c, via flickr

留言討論