這是個有趣的話題,裡面有世界各民族的文化智慧,所以,我們以三個有趣的問題開始。
第一,如果拿 1元或者 2元錢分給三個人,能分公平麼?
答:分不公平,肯定有人吃虧,因為我們用的是十進位,一元錢分成十角。10 不能被3 整除,所以無法完全平均分出去。
第二,為什麼一小時是 60 分鐘,一分鐘是 60 秒?
答:因為古巴比倫人使用的是六十進位,很多東西都以六十為單位。這個操作是學習公元前3世紀的古閃族。因為 60 是 10 和 12 的最小公倍數,有 12 個因子,可以被很多數字整除。所以,使用的時候,可以把 60 拆成很多不同的時間長度,比如,一小時可以是 2 個 30 分鐘、3 個 20 分鐘、4 個 15 分鐘等等。從1 到 6,60 都可以被整除。
第三,如果人像「九指神丐」洪七公一樣,只有 9 個手指頭,是否會使用九進位?
答:會的。因為人,無論東方人、西方人,都有十個手指頭,所以人類普遍自發採用十進位。如果人天生就是九個手指頭,那麼一定會使用九進位。
不過,九進位的確也有使用,這不是編的。因為二進位、十進位有很多相互轉化——簡稱互化——要用到。九進位是以數字 9 為底數記數系統,只使用數字 0 到 8,9不使用。
世界各民族記數方式上,蘊含著很多文化思維。比如中國傳統上,有些記數方式也不是十進位。重量單位就是如此,以前的一斤等於十六兩,這跟中國古代的錢的使用是掛鈎的,用起來還算方便。因為古人用金銀做貨幣本位,金銀也是論重量的,一兩銀子,二兩銀子,這跟其他的物品是統一的。
但到了現代,就很麻煩,所以建國後我們的重量單位也改成了十進位。
怎麼個麻煩法?
一個例子就說明了,假設要買茶葉,假設一斤茶葉三塊五。
去買茶葉:給我來一兩!
如果一斤是十兩,很好辦,一兩茶葉三毛五,很好計算。但你換成一斤十六兩,你試試?算半天算不明白。
因為貨幣不是以重量做單位了。
目前全世界通用的公尺、公裡、公斤、公升,都是十進位。十進位是法國大革命的一個改革,很重要。以前世界上的記數,五花八門,無所不有。
有些民族跟進了,有些也沒跟進。比如英國人,就是很令人頭疼,他們的進位單位,簡直存心跟人過不去,誰看了都頭疼——
一碼三英尺,一英尺有十二吋;一磅是十六盎司,一盎司是十六打蘭,一英噸又是二千二百四十磅;一加合是四個夸特,一夸特是兩個特,一品特是二十盎司;一蒲式耳是四英鬥,一英鬥是兩加侖;一英是二十先令,一先令是十二便士,一個幾尼亞是二十一先令。
這簡直是故意跟人為難的。幾乎把能涉及到的主要進位用法都使用了,就是不用十進位。
但記數的時候,英國人也用十進位。因為不用沒辦法。
記數用什麼進位,跟文字的關係比較大,除了巴比倫文明的楔形數字為60進位,瑪雅數字為20進位外,其他的基本都用十進位記數。
很榮幸,十進位是中國的發明。
世界四大文明古國中,中國是在商周時期就用十進位的。因為文字的影響,在漢字中,從甲骨文時期就有一、二、三、四、五、六、七、八、九、十、百、千、萬,十萬以內的自然數,很容易記。再往上,也容易,抗戰時期,宣傳是就說「四萬萬同胞」,《長城謠》裡的歌詞也說「四萬萬同胞心相連」,四萬萬,就是四億。
其他的文明古國不這樣,因為文字的關係。古巴比侖的記數法雖有位值制的意義,但它採用的是六十進位的,計算非常繁瑣。古埃及的數字從一到十隻有兩個數字符號,從一百到一千萬有四個數字符號,而且這些符號都是象形的。要是出現大數字,比如十萬,古埃及人乾脆畫一隻鳥,代表十萬。古希臘重視集合,輕視計算,記數方法很落後,他們用全部希臘字母來表示 1 到 10000 的數字,字母不夠用怎麼辦,加符號!
古羅馬的文字,至少羅馬數字比阿拉伯數字早了兩千多年。
但是羅馬數字不能做進位單位。因為羅馬數字沒有數字 0,而且只有七個基本符號,他們記數,最初就是伸手指頭,一二三,就是Ⅰ、Ⅱ、Ⅲ,遇到五,就是一隻手。其他的數字由基本數字配套使用,四,就是一個手的手指減去一個手指,放在左邊——Ⅳ。
這當然不夠用,但是教皇說,這是上帝發明的,不允許改變。數字 0,表示不存在,不存在的東西不要說,禁止使用。
教皇還說,0 是個邪惡的東西,會玷汙神聖的數。
古羅馬記數,CCC,就是 300,是累積法
古印度是用字母記數的,附加使用累積法。印度是到公元 7 世紀才採用十進位的,受了中國的影響,因為兩個國家很近。
阿拉伯數碼和記數法,大約在十世紀時才傳到歐洲。
在世界各民族使用進位的單位的時候,有很多有趣的現象。
有些民族早起是使用五進位的,因為人的一隻手有五個手指頭。五進位的數字,不是 1、2、3、4、5,而 0、1、2、3、4。
中國五行的說法,就是五進位。金木水火土,0代表土,1代表水,2代表火,3代表木,4代表金,以此類推,5又屬土,6屬水,減去5即得。
約魯巴人到二十世紀中期還在使用五進位。
俄文中的「五」是 Piat,手掌是Piagt。
人有四肢,有十個手指頭,從前人也不穿鞋襪,腳指頭也看得見,加起來正好 20 個。所以,二十也常被作為底數,在世界很多民族中作為二十進位使用。
美國西部的阿茲德克族,他們就是用二十進位。所以,他們的一天是 20 個小時。
如果研究文字,會發現法文很有意思,二十是「Vingt」,這不是一個單純的數字,而是一個基本單位,也就是二十是進位單位。
所以法文的 84,叫做Quatre-Vingt Quatre,意思是,四個二十加上四,就是 84。
字母文字之間有很多的聯繫,經常互相影響。所以,舊英文裡也是這樣的,二十不是我們現在twenty ,而是 Score。說 60 的時候,就說三個二十,80,就是四個二十。
人類很早就有使用二進位了。
二進位不是如今計算機獨有的使用。關於二進位的解釋,現在都解釋為在數學和數字電路中指以2為基數的記數系統,以2為基數代表系統是二進位制的。
其實並非是計算機獨有的。澳洲、非洲有些民族一直在使用二進位。因為他們習慣上把東西一對一對,或者一雙一雙的來看。
要成雙成對才行。
一個羊群有 32 只羊。如果丟了 2 只羊,他們不會一下子發現,但是如果丟了 1 只羊,他們立即就會發現。誰偷了我的羊?
澳洲附近島嶼上的一些居民使用二進位,方法很簡單——
三,就是「一二」;四,是「二二」,五,是「二二 一」,六,是「二二二」。
當然,你問他100 怎麼說,會把他累死!
計算機的二進位是以阿拉伯數字記數的,每個數字稱為一個比特,只用0和1兩個符號來記數。
十進位普遍使用,但未必是最方便。這就回到了文首第一個問題——如果拿1元或者 2元錢分給三個人,能分公平麼?
同時,把一個圓分成十等分,就比較麻煩,得用方程式論的高級數學。幾何學雖然有辦法,但幾何學不能記數。十進位可以用分數很清晰的表示,比如三分之一(1/3),但你用小數就無法準確表述,只能約等於 3.14。
比較聰明實用的方法,是中國古代很多地方使用的十二進位,以十二為底數。因為,10 只有 2 和 5 兩個除數。12 ,有四個除數。中國古代的紀年、紀月、紀日方法,就是注意到了十二進位的重要性。至少,十二個數字,中國人很重視。
十二和十經常搭配十來使用。
中國古代紀年、紀月、紀日,是十和十二的搭配使用。十天幹,十二地支。
十天幹是甲乙丙丁戊己庚辛壬癸。
十二地支是子醜寅卯辰巳午未申酉戌亥。
十天幹和十二地支配合起來,就形成了一個從甲子開始,到癸亥結束的無限循環。
一甲子就是 60 年,這恰好跟古巴比倫六十進位的計時方法不謀而合。
2020 年就是庚子年,2020 年的五月,就是辛巳月,2020 年的五月二十九日,是壬申日。如此循環計算,十進位、十二進位、六十進位配合使用,非常實用有效。
再往下細分,也很簡單,一天二十四個小時,十二進位很好解決日子的記數。子時、丑時等等。古代軍隊是早晨太陽初升五點左右點名,所以叫「點卯」,因為那時候是卯時。
這個東西一直影響著我們,比如我們說「子夜」,就是半夜子時;我們說「中午」,就是白天午時。
四也可以整除十二,所以,中國古代的方向也可以用十二支來表示:正北為子,正東為卯,正南為午,正西為酉。讀歷史書,上面說「鬥柄回寅」,就是北鬥星的鬥柄指向了寅方,正北順時針偏60度的地方為寅,那恰好是立春時節,所以,「鬥柄回寅」就是春天來了。新的一年開始了!
其實,世界各民族使用的基本進位制非常多,從二進位開始,三進位,四進位,五六七八九十進位,一直到六十四進位都有。可見人類為記數系統貢獻了不少智慧,花了不少心血!