" /> " />
近二十多年来学术界讨论的一个非常热门的话题就是:德国大哲学家、数学家莱布尼茨(GottfriendWilhelmLeibniz,1646-1716)发明“二进制”与邵雍《先天图》的关系。参加这场讨论的有西方包括李约瑟(JosephNeedham,1900-1995)在内的科学史家,以及国内许多著名的科学史与中国哲学史的专家学者。讨论的焦点大致有两个:一是邵雍的《先天图》卦序是否一种二进制的记数方法?或是一种“无意识的巧合”而符合二进制的记数方法关系?二是莱布尼茨发明二进制是否受了邵雍《先天图》的启发?主流的学术观点认为邵雍的《先天图》不是二进制记数方法,或至少不是一种自觉运用的二进制的记数方法;莱布尼茨在其发明二进制之前并未看到邵雍的《先天图》。
这一问题之所以存在长期争论,有人归结为这样一种原因,即懂得《周易》的学者不大懂得自然科学,而懂得自然科学的学者又往往不懂《周易》。这确实是一个重要的原因。但这又并不是绝对的,莱布尼茨用二进制的视角去读《先天图》,并不需要他很懂《周易》;而《周易》有几千年的发展历史,谁又可以说完全弄懂了它?况且,邵雍的《皇极经世书》又是一部很难懂的书。
在笔者看来,首先应懂得怎样去读邵雍的《先天图》,从中看它的卦序是不是二进制的记数方法,它如何是或如何不是二进制的记数方法。如果说邵雍当时已经发明、并自觉运用了二进制的记数方法,那莱布尼茨发明二进制时是否受了邵雍《先天图》启发的问题就已经不那么重要了。如果不是这样,那莱布尼茨发明二进制时即使看到了邵雍的《先天图》,那又能说明什么呢?
邵雍的《先天图》四图的卦序都遵循着一种逻辑法则,当时被称为“加一倍法”。所谓“加一倍法”即是今天严格意义上的“二进制”的记数方法。其中有二图比较直观,兹附图下:
邵雍的《先天图》无论八卦还是六十四卦,其卦序顺读都是始《乾》终《坤》,我们的绝大多数学者都按顺读的方法来读它,这当然不容易发现其中的二进制的记数方法。但邵雍已经指出:“夫易之数,由逆而成矣。”(《皇极经世书》卷十三)他告诉我们考察《先天图》的易数关系的要诀是“逆数”,其中包括卦序的“逆数”和爻序的“逆数”。卦序的“逆数”是从《坤》卦至《乾》卦,如果我们将卦画中的设定为“0”,设定为“1”,那上面的《伏羲八卦次序图》正好是按二进制记数方法所表示的0-7的自然数表:
《伏羲六十四卦方位图》在六十四卦的圆图中,又置有一个六十四卦的方图。无论圆图和方图,卦序之中都内在地体现严格意义上的二进制的记数方法。其中的方图更为典型而直观,读懂它的要诀就是“逆数”,即由左向右,第一行始坤终否,接第二行始谦终遯,再接第三行始师终讼,以下接第四行、第五行、第六行、第七行,最后接第八行始泰终乾。而这正是按二进制方法所表示的0-63的自然数表:
需要指出的是,《先天图》的二进制数表是以《周易》卦画为形式的。从易数的观点看,卦画所表示的是数,而不是象。其计数方式是通过两个基本的卦画符号和来进行的。而爻位就是二进制数的位值。先天八卦图体现的是三位二进制数表(0-7),先天六十四卦图体现的是六位二进制数表(0-63)。
以上所说,是读懂《先天图》卦序的要诀:卦序的“逆数”。而要进一步理解先天易数的具体进位方法,还有一个要诀,就是爻序的“逆数”:由低数位向高数位进位,是上爻向五爻进位,五爻向四爻进位,四爻向三爻进位,三爻向二爻进位,二爻向初爻进位。而进位的原则是逢二进一位。
现代国内外有学者提出邵雍《太极图》的易数关系并不是一种自觉运用的二进制的记数方法。我们认为,如果邵雍不是自觉运用“二进制”的记数方法排出这一卦序,我们想不出他还可能用其他方法排出这种卦序,而正巧与“二进制”的数表完全相吻合。
因为大家都知道,如果我们对六十四卦任意排列组合,那可以排出的卦序的种类,应是64的阶乘:1乘2乘3乘4……乘64,其结果将是一个无比庞大的数字。而邵雍能一卦不差地排列出符合二进制数表的卦序,如果将这说成是一种“无意识的巧合,”此种巧合的机率渺乎其微,几乎完全不可能,这反过来说明邵雍已经发明并能熟练运用“二进制”的记数方法。问题在于,邵雍虽然已经发明了二进制的方法,但除了能逻辑地处理卦序关系外,还不能将此二进制的记数方法派上其他用场。
邵雍的这项发明,已为当时的程颢所理解,并为之命名为“加一倍法”。程颢认为邵雍的“加一倍法”比扬雄的太玄数更高明。当时邵雍听到程颢的话之后惊抚其背说:“大哥,你恁聪明!”
邵雍的“加一倍法”受到后来的朱熹的重视。在朱熹那里,“加一倍法”又被称作“加一位法”。而“加一倍法”的要点就在于,加一位,即加一倍。
按照邵雍“加一倍法”的原理,每增加一个爻位(实即数位),二进制数表中所包含的自然数的数目便会增加一倍,比如二进制六个数位包含了六十四个自然数(0-63),若增加到七个数位,那自然数的数目也便翻了一番,而包含一百二十八个自然数(0-127)。若增加到八个数位,便包含二百五十六个自然数(0-255)。而若从八个数位增加到十五个数位,那自然数的数目便翻七番,而包含三万二千七百六十八个自然数(0-32,767)。如此类推,数位越多,包含的自然数的数目也越多。而即使再多数位,其中包含的自然数的数目再多,要用二进制的记数方法写出它所包含的所有自然数,也并不困难。
这也就是说,只用两个符号便可以以一种明白无误的逻辑方法(可操作、可验证的)表示任何自然数。反过来也可以说,一切自然数都可以用两个符号以逻辑的方法表示出来。
邵雍的“加一倍法”意味着中国早在九百多年前的北宋时期,已经发明了二进制的记数方法,这是中国先哲的智慧和光荣,我们作为后人应该记住它,而不应该抹煞它!
本文得到董光璧教授拨冗审读指正,在此谨致谢意。【原标题:邵雍的“加一倍法”就是严格意义的“二进制”】