這裡主要介紹二進制記數法。
二進制
在德國圖靈根著名的郭塔王宮圖書館(Schlossbiliothke zu Gotha)保存著一份彌足珍貴的手稿,其標題為:“1與0,一切數字的神奇淵源。這是造物的秘密美妙的典範,因為,一切無非都來自上帝。”
這是德國天才大師萊布尼茨(Gottfried Wilhelm Leibniz,1646 - 1716)的手跡。但是,關於這個神奇美妙的數字系統,萊布尼茨只有幾頁異常精煉的描述。用現代人熟悉的話,我們可以對二進制作如下的解釋:
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
以此類推。
把等號右邊的數字相加,就可以獲得任意一個
自然數。我們只需要說明:採用了2的幾次方,而舍掉了2幾次方。二進制的表述序列都從右邊開始,第一位是2的0次方,第二位是2的1次方,第三位時2的2次方……,以此類推。一切採用2的成方的位置,我們就用“1”來標誌,一切舍掉2的成方的位置,我們就用“0”來標誌。這樣,我們就得到了下邊這個序列:
1 1 1 0 0 1 0 1
2的7次方
2的6次方
2的5次方
2的4次方
2的3次方
2的2次方
2的1次方
2的0次方
128+64+32+0+0+4+0+1=229
在這個例子中,十進制的數字“229”就可以表述為二進制的“11100101”。任何一個二進制數字最左邊的一位都是“1”。通過這個方法,用1到9和0這十個數字表述的整個自然數列都可用0和1兩個數字來代替。0與1這兩個數字很容易被電子化:有電流就是1;沒有電流就是0。這就整個現代
計算機技術的根本秘密所在。
八卦
這份手稿完成的時候,萊布尼茨五十歲。毫無疑問,他是這個作為現代計算機技術的基礎的二進制的發明者。而且,在此之前,或者與他同時,似乎沒有一個人想到過這個問題。這在數學史上是很罕見的。
萊布尼茨不僅發明了二進制,而且賦予了它宗教的內涵。他在寫給當時在中國傳教的法國耶穌士會牧師布維(Joachim Bouvet,1662 - 1732)的信中說:
“第一天的伊始是1,也就是上帝。第二天的伊始是2,……到了第七天,一切都有了。所以,這最後的一天也是最完美的。因為,此時世間的一切都已經被創造出來了。因此它被寫作‘7’,也就是‘111’(二進制中的111等於十進制的7),而且不包含0。只有當我們僅僅用0和1來表達這個數字時,才能理解,為什麼第七天才最完美,為什麼7是神聖的數字。特別值得注意的是它(第七天)的特徵(寫作二進制的111)與三位一體的關聯。”
布維是一位漢學大師,他對中國的介紹是17、18世紀歐洲學界中國熱最重要的原因之一。布維是萊布尼茨的好朋友,一直與他保持著頻繁的書信往來。萊布尼茨曾將很多布維的文章翻譯成德文,發表刊行。恰恰是布維向萊布尼茨介紹了《周易》和八卦的系統,並說明了《周易》在中國文化中的權威地位。
八卦是由八個符號組構成的占卜系統,而這些符號分為連續的與間斷的橫線兩種。這兩個後來被稱為“陰”、“陽”的符號,在萊布尼茨眼中,就是他的二進制的中國翻版。他感到這個來自古老中國文化的符號系統與他的二進制之間的關係實在太明顯了,因此斷言:二進制乃是具有世界普遍性的、最完美的邏輯語言。
另一個可能引起萊布尼茨對八卦的興趣的人是坦澤爾(Wilhelm Ernst Tentzel),他當時是圖靈根大公爵硬幣珍藏室的領導,也是萊布尼茨的好友之一。在他主管的這個硬幣珍藏中有一枚印有八卦符號的硬幣。
八卦與二進制
今天,西方學界已經獲得了普遍的共識:八卦與二進制沒有直接的關係。首先,中國的數字系統是十進制的。其次,依照我們今天掌握的史料,秦、漢以上,中國還沒有--在萊布尼茨的二進制意義上的--“零”的概念。
假如說《周易》中繫辭的部分講的陰、陽化生萬物就是萊布尼茨所說的0、1為萬物之源,這是難以成立的。今本《周易》大概可以分成三個部分,第一是卦,第二是爻,第三是傳,即所謂的“十翼”。其中,卦的部分應該是最古老的。從《尚書》、《周禮》、《左傳》、《國語》等先秦文獻,以及後來的考古發掘,我們對西周初年的龜卜有了初步的認識。但是,對於“易卜”我們幾乎沒有任何詳細可靠的資料。《周易》中的卦也許就是韓宣子所見到的“易象”。無論如何,我們在卦、爻中基本上看不到陰、陽的影子。陰、陽的系統基本上是在《易傳》中得到完善的發展與表述的,儘管它的淵源一定早過《易傳》。而《易傳》顯然是十進制的體系。通過《漢書·律曆志》的記載,我們不僅可以知道,在《周易》大行於世的時代歷算使用的是十進制,而且其中關鍵數不是1,更不是0,而是2(陰、陽)和3(天、地、人)。(相見拙文《儒家對數學幾何的熱愛》)
另外,道哲學體系中的重要概念“無”與萊布尼茨的0沒有任何直接關係。羅素在《數理哲學道論》中將“0”解釋為:一切沒有分子的類的類。這正是萊布尼茨心目中的“零”。而羅素的這個解釋正是受到了著名德國語言哲學家弗萊格(Gottlob Frege,1848-1925)的著作Grundlage der Arithmetik(《算術基礎》)的啟發。弗萊格、羅素的數論體系中的“零”換成中國話說,就是一切“無”的總稱。而道哲學中的“無”不是卻不是很多“無”的總和,而是那一個特定的“無”,是那一個“道”的本質。
簡單地說,萊布尼茨以來三百年間,西方的科學家與哲學家作過無數的研究,都不能發現二進制與八卦有什麼實質性的聯繫。而在我們中國,秦漢以下,除去利用對八卦特殊的解釋建立哲學系統的努力,我們也基本上看不到對它具有說服力的解釋。
二進制數
介紹
二進制是計算技術中廣泛採用的一種數制。二進制數是用0和1兩個數碼來表示的數。它的基數為2,進位規則是“逢二進一”,借位規則是“借一當二”。二進制數也是採用位置
計數法,其位權是以2為底的冪。例如二進制數110.11,其位權的大小順序為4、2、1、2
-1、2
-2。
表示
對於有n位整數,m位小數的二進制數用加權係數展開式表示,可寫為:
(N)2=an-1×2n-1+an-2×2n-2+……+a1×21+a0×20+a-1×2-1+a-2×2-2+……+a-m×2-m
式中aj表示第j位的係數,它為0和1中的某一個數。
二進制數一般可寫為:(an-1an-2…a1a0a-1a-2…a-m)2。
例解
【例1】將二進制數111.01寫成加權係數的形式。
解: (111.01)2=1×22+l×21+1×20+1×2-2
加法和乘法
二進制數的算術運算的基本規律和十進制數的運算十分相似。最常用的是加法運算和乘法運算。
二進制加法
有四種情況: 0+0=0
0+1=1
1+0=1
1+1=0 進位為1
【例2】求 (1101)2+(1011)2 的和
解: 1 1 0 1
+ 1 0 1 1
1 1 0 0 0
二進制乘法
有四種情況: 0×0=0
1×0=0
0×1=0
1×1=1
【例3】求 (1110)2 乘(101)2 之積
解: 1 1 1 0
× 1 0 1
1 1 1 0
0 0 0 0
+ 1 1 1 0
1 0 0 0 1 1 0
位值思想
目前記數使用的印度 ———阿拉伯數碼採用 10進位值制原理。其中的 10 進制受自然現象影響而成,公認它與人生有 10 指有關;而位值制卻是主觀的產物。回顧記數法的歷史可以發現,位值制在記數中的重要性遠遠大於 10 進制,曾被數學史家比喻為字母在文字中的重要性。位值的表現方式是多方面的,其形成過程也是漫長的 。
記數法中的位值思想是指數碼符號不僅有其本意表示的數目大小,還要依靠它所在的位置決定該數碼在整個數目中的確切數值。 例如印度 ———阿拉伯數碼 121,右邊的數碼 1 表示數 1,中間的 2 因在 10 位上而表示 20,左邊同樣一個數碼 1 因在百位上就表示100。 每位數碼之間用加法組合,整個數目表示一百二十一。 又如羅馬數碼 Ⅳ,右邊的 Ⅴ表示 5 ,左邊的Ⅰ表示 - 1 ,數碼之間也用加法組合 ,整個數目表示 4。
現在通行的印度 ———
阿拉伯數碼採用 10 進位值制記數法,任何一個自然數都可以表示成 a
n·10
n+ a
n-1·10
n-1 + ……+ a
1·10 + a
0 的形式 。 10 叫做進位基數 , a
0 , a
1 , …, a
n 是 1 ,2 , …,9 ,0 這 10 個數碼中的某一個 。 所謂位值制就是在書寫時省去 10 的乘冪與加號 。 如上述 121 是 1·10
2 + 2·10 + 1 的簡寫。 其特點是只用這 10 個數碼便可將任何
自然數表示出來。從右邊算起,
數碼所在的位置依次稱為個位,十位 ,百位等等。一個數碼錶示什麼數值,要看它在什麼位置上,這就是“位值”(place value 或 positional value) 的含義 。
古代記數法中採用位值制的主要有巴比倫楔形文字記數法,瑪雅記數法,中國的算籌記數法和印度———阿拉伯數碼記數法 。 其中巴比倫採用 60 進位記數,瑪雅有 20 進位和 18 進位混用記數,中國算籌和印度 ———阿拉伯數碼都用 10 進位 。 瑪雅人記數自下而上進行,最下面是個位,越往上位數越高;其餘的位值制記數法都是自右向左位數依次增大。 雖然進位
基數和數碼排列方式不盡相同,但在位值的含義上都一致,這反映了人類數學發展的共性。