張新春
選擇十進制,顯然與人類長有10個手指頭有關。這一點亞里士多德早就注意到了。在《問題集》XV卷里,亞里士多德給出了人類采用十進制的各種可能的解釋。其中有的與畢達哥拉斯有關,畢氏學派認為10是一個完美的數(shù),并給它披上神秘的外衣。首先,10是最小的4種類型的數(shù)之和:1+2+3+4=10,其中1非素數(shù)也非合數(shù),2是偶素數(shù),3是奇素數(shù),4是合數(shù)。另一種解釋是1代表點,2代表線(兩點確定一條直線),3代表面,4代表體……。最后,亞里士多德指出:是否因為每個人都有10個手指?事實上,前面幾種解釋都難以站住腳。
其實,在位值制記數(shù)法中,以哪個數(shù)為基并不是本質問題。因此,除了十進位值制記數(shù)法外,還有非十進位值制記數(shù)法。
以下一段摘自丹齊克的《數(shù),科學的語言》(上海教育出版社)。
設想:要是人類沒有屈伸自如的手指,而只有兩只“不分關節(jié)”的禿拳,整個文化史會成個什么樣子?這是一個有趣的問題。在這種情形之下,假如最終也發(fā)展出某種記數(shù)法的話,它很可能是二進制的。
人類采用十進制即是一種生理上的湊巧。如果相信從一切事物里都可以看出上帝的匠心,就不得不承認上帝是一位蹩腳的數(shù)學家。因為十進制的基底除了生理上的優(yōu)點外,本身沒有多少可以稱道之處。幾乎一切其他的基底,除了9以外,都和它一樣高明,也許還強一些。
老實說,如果讓一群專家來選擇基底的話,我們也許會看到實用家和數(shù)學家之間的爭論。實用家堅持要用有最多因數(shù)的數(shù),如12為基底;而數(shù)學家則要用質數(shù),如7或11為基底。事實上,18世紀后期的大博物學家布封曾經(jīng)提議舉世公用十二進制。他指出:12有4個除數(shù),而10只有2個。他堅持說,正是由于我們的十進制,世世代代以來,人們都感到極為不便,所以雖然10是舉世公用的基底,而在大多數(shù)的度量衡中,都有以12為基底的輔助單位。
不管我們委托選擇基底的賢人們決定采用質數(shù)還是合數(shù)作基底,我們敢肯定,10甚至是根本不會被考慮的,因為它既非質數(shù),又不含足夠多的因數(shù)。
在非十進位值制中,最有特點的應該是二進制。相對于十進制需要用10個數(shù)碼來說,二進制需要的數(shù)碼少得多,只需0和1兩個。比如,十進制的6用二進制表示就是1102,其中的下標2即表明這個數(shù)是二進制,從而區(qū)別于十進制的110。最高位上的1表示為1個22,即1個4(若按十進制的說法,應該把這個數(shù)位叫“四位”)。而右起第二位(應該叫“二位”)上的1表示為1個21。右起第一位(還叫“個位”)的記數(shù)單位為20。一般地,任意一個大于0的自然數(shù)N都可以表示為:
這里確實只用了“一一得一”這一句口訣。
正因為使用符號少,運算規(guī)則簡單,二進制記數(shù)法在計算機中普遍使用。使用二進制必須付出的一個代價是:一個數(shù)寫出來很長!比如,一千零九十三,用十進制記為1093,而用二進制則要記成10001000101。人類愿意在小時候多學幾個符號,多記幾句口訣,也不愿意把數(shù)寫得這么長。而計算機則恰好相反:一個符號就需要用一種物理狀態(tài)表示,找到10種穩(wěn)定的物理狀態(tài)畢竟太難,而有兩種穩(wěn)定狀態(tài)的東西就多了,比如開關的斷開與閉合、電位的高與低、晶體管的導通與截止等,都可分別用0與1表示。簡單的計算規(guī)則對計算機來說也是非常重要的。而計算機恰恰不在乎多用幾個位置記錄一個數(shù),于是數(shù)被記成很長對它來說影響不大。
二進制數(shù)與偉大的萊布尼茨密切相關。萊布尼茨是與牛頓分享微積分發(fā)明權的數(shù)學家。與牛頓不同的是,他是一位“樣樣皆通的大師”,“可以說萊布尼茨不止活了一生,而是活了好幾世。他作為一個外交官、歷史學家、哲學家和數(shù)學家,在每一個領域中都完成了足夠普通人干一輩子的事情”。([美]E·T·貝爾,數(shù)學大師,上??萍冀逃霭嫔纾?004)用拉普拉斯的話來說,“萊布尼茨在他的二進位算術中看到了宇宙創(chuàng)始的形象。他想象1代表上帝,而0代表虛無,上帝從虛無中創(chuàng)造出所有的實物,恰如在他的數(shù)學系統(tǒng)中用1和0表示了所有的數(shù)”。