十二進位,二十進位,六十進位 | 數學與生活

2021-01-08 遇見數學

1.8 金字塔

1798年初夏,拿破崙率領軍隊遠徵埃及。在金字塔下,即將作戰的時候,他向士兵們喊出了一句很得意的話:

「諸位,4000年保佑著你們!」

在戰鬥的間隙,部下的將軍們登上了著名的金字塔,拿破崙沒有上去,卻在下面忙著計算什麼。據說拿破崙這個人很喜歡計算,在打仗的時候也使用數學。在力學上把物體的質量與速度相乘叫做動量,他就仿照這個例子,把部隊的人數和移動速度相乘的結果作為部隊的動量來計算。騎兵部隊的人數雖然少,可是移動速度快,所以動量也就大。

且說那些將軍們從金字塔上下來時,拿破崙就把剛才計算的結果說給他們聽。

他說把三座金字塔(見圖1-8)的石頭全部合起來,可以築成高6米、厚30釐米圍繞全法國的石牆。拿破崙的計算是否準確姑且不說,僅僅聽這句話我們也可以估量出金字塔是怎樣一個龐然大物了。

圖1-8為了建造這些金字塔,花費了多少人力和血汗,實在是難以想像。

然而金字塔的驚人之處,不僅是它的巨大。當仰望這個高達150米的巨大的石山,最初所感到的驚異平靜下來之後,緊接著第二個驚異就會抓住人心,那就是金字塔所具有的精巧。這個巨大的石山不僅是大,而且還像工藝品那樣精巧。

比如說金字塔的底邊是正方形,邊長的誤差在1/1000以下。距今4000年以前怎麼會有這樣精巧的建築物呢?一想到這裡,就知道問題在於古代埃及的測量術及它的基礎——數學。我們自然會想到製造出這樣精密的建築是要有高水平的數學知識作保證的。當然,僅憑螺殼的曲線在微分學裡是精密的曲線,就說貝類懂得微分學,這個結論是錯誤的。但是人類從事的是有計劃的工作,自然可以假定在它的背後有適應這個工作的科學存在。

在19世紀,香波裡昂等開始的埃及研究就明確了這些假定是事實。例如,根據英國學者林德所發現的《萊因德紙草書》上的記載,當時埃及的數字如圖1-9來表示。

圖1-9相當於10,100,1000…的數字如圖1-10。

圖1-10這樣的數字達到了1000萬,說明埃及這個古國一定需要這個龐大的數字。根據流傳下來的記錄,在一次戰爭中,埃及分得了12萬俘虜、40萬頭牛和142.2萬頭山羊。這個數字即使多少有些誇張,可是對一個擁有大量人口、處於高度統治下的古代國家來說,這種程度的數字決不是難以實現的大數吧。

埃及人使用象形文字來寫數字,比如13545,這個數字的寫法如圖1-11所示。

圖1-11這是從左到右按大小順序寫的,寫的順序反過來也可以。另外,要是把和換位置寫也還是13545不變(見圖1-12)。也就是與各個數字的書寫順序(即定位)沒有關係。所以埃及的數字跟定位的原理不一樣,我們今天用的定位法是從與埃及數字不同的巴比倫王國系統產生的。

1.9 二 十 進 制

如果以一個人的手指和腳趾數為基礎,就能產生二十進位。這個二十進位和十進位並列,在今天的歐洲語言,特別是在法語裡留下了痕跡,在法語裡現在還有這種說法:

80——quatre vingts(4個20)

90——quatre vingt dix(4個20加10)

從前是用以下十進位的數詞

80——octante

90——nonante

卻特意變為使用20(vingt)的二十進位,可以看出法國人相當喜歡二十進位。雨果的著作裡有名為《93年》的小說,那就是Quatre vingt treize(20×4+13=93),這對日本人來說是需要心算一下的問題。確實,這種二十進位不是面向孩子的算術,所以近來在小學裡停止使用vingt,把quatre vingts代之以octante,把quatre vingt dix代之以nonante,推薦使用這些合理的數詞。

但是據說現在在農村有些地方還是像從前那樣使用octante和nonante。

不僅是法語,英語裡也保留著score(20)這樣的數詞,也把「人生70」說成Three score and ten(20×3+10=70)。林肯在葛底斯堡以那句名言「人民的,依靠人民的,為了人民的政府」結尾的演說中,是以Four score and seven years ago這句話開始的,由於20×4+7=87,所以意思就是「87年前」。

可是,法語也好,英語也好,20隻是10的輔助,認真完成二十進位的民族也有,例如阿伊努人就是。阿伊努語的20是hot「一齊」,意思就是兩手(指)和兩腳(趾)全加在一塊兒。

10——wanpe

20——hot

30——wanpe-e-tu-hot(20×2-10)

40——tu-hot(20×2)

50——wanpe-e-re-hot(20×3-10)

別的地方不大有這樣用減法的。

除了阿伊努人以外,可別忘了還有一個民族創造了完全的二十進位,那就是中美洲的瑪雅族和墨西哥的阿茲特克族。瑪雅族的數字如圖1-13所示。

圖1-13到了20,就在的下面畫上,用來表示。

這時的形狀就好像是眼睛,可是下一檔不是20而是18,不是400而是360。

這似乎和一年的天數有關係,作為360天來說,剩下的5天就是祭日了。

瑪雅族使用的是先進的定位方法,可是後來出現的阿茲特克族卻從定位法後退了,他們使用的是如圖1-14所示的數字。

圖1-14 20是一面旗子,但20這個單位好像還太大,於是把20分成四等份,把10或15當作輔助單位使用,如圖1-15所示。

圖1-15阿茲特克族的二十進位是很徹底的。他們和瑪雅族一樣,一個月是20天,一年是18個月,20個部落聚在一起形成一個大部落。

1.10 十 二 進 制

人有5個手指,基於這樣一個生物學的偶然事實,5,10或20就成為計算方法的基礎。舊約聖經裡說有一個手腳都有6個指頭、總共有24個指頭的巨人和大衛王打仗的事,如果是這個6指巨人創造數詞,一定是十二進位。

12 進 制實際上也有人不用十進位而改用十二進位。第一個有名的例子,據說就是瑞典國王查理十二世(1682—1718)。他率領軍隊竄擾北歐。這個外號叫「北方的狂人」的好戰國王很年輕就死去了,沒有能實行十二進位。這樣一個豪強的國王,為什麼執意要搞十二進位呢?其理由還不太清楚,不僅因為「十二世」的十二,還一定有更合理的理由。首先想到的是12的約數很多這一事實。10的約數有4個:1,2,5,10。與此相比較,12的約數是1,2,3,4,6,12,有6個。尤其是10不能用3除盡,而12卻能用3除盡,這就是它的長處。

在學者當中提倡十二進位的人是博物學家布封(1707—1788)。十二進位除了0~9的數字外,還必須有表示10和11的數字,布封用X表示10,用Z表示11。加上這兩個數字就可以用與十進位相同的方法寫出所有的數字。布封的生年1707可以寫成ZX3,卒年1788就可以寫成1050。

可是即使有查理十二世的權力和布封的博學,也不能把十二進位強加在國民頭上。這是因為必須改變數詞,而這一點很難辦到。

話雖這麼說,現在歐洲的語言和習慣上仍然保留有十二進位的痕跡。英國小學的算術教科書裡印有12×12=144的十二進位的「九九」表,可是這對英國的孩子有必要嗎?比如12個是1打,12打是1羅。在度量衡上也是以12進位的居多。12英寸是1英尺,12便士是1先令。英語的數詞也是從one、two開始說到ten,11不是ten-one,12不是ten-two,而是eleven和twelve。追溯到最古老的詞源,eleven是從哥特語的ainlif(餘1)來的,twelve是從twalib(餘2)來的,也仍然是以十進位為基礎,但現在已經是無法區別,決不能說成ten-one,ten-two。

在這一點上日語就合理得多。掌握了合理的數詞會多麼有利呢?這就不得而知了。總之「九九」表很好地利用了日語數詞的規律性,用歐洲語言可就非常困難了。

1.11 六 十 進 制

要是20太大的話,60就更大了。而以這更大的60為基礎,把六十進位付諸實際使用的卻是巴比倫王國。

巴比倫王國的六十進位現在在時間和角度的測量上仍然保留著。60秒是1分,60分是1小時,在角度上就是1度。這對於使用十進位的我們來說不太方便,可是要改變它與其說是困難的還不如說是不可能的。如果改變,那現在使用的鐘表就全都沒用了,刻著角度的機械也全都要返工改造。這個改革比起實行米制要困難得多。似乎不值得付出犧牲去實行。無論如何,鐘錶和分度器上的六十進位會永存下去。

可是六十進位為什麼會在巴比倫王國產生呢?道理還不清楚,有各種各樣的說法,下面一種說法似乎最說得通。巴比倫王國是由許多小的部落逐漸擴大形成的一個國家。那時有必要把各地方紛雜的度量衡統一起來。所以有很多約數的60就很方便。如十進位的國家和十二進位的國家一起組成新的國家時,如果用10或12都能除盡的數,也就是以10和12的最小公倍數60為基礎的話,對兩國都合適。

1.12 定位與 0 的祖先

巴比倫王國和埃及是歷史上最早的城市國家,在那裡文明的發達程度差不多相同,數學水平也很相近。它們掌握了100萬或1000萬以內的數詞,知道加減乘除的計算方法,還提出了分數的想法。但是也有些不同點。

埃及在實現完整的十進位方面是先進的。巴比倫王國創立的是混雜著十進位的六十進位,因此我們得到一份不值得感謝的遺產,這就是時間與角度的六十進位。即使這麼說,巴比倫王國的數學也不是在所有方面都比埃及差。巴比倫記數法的長處究竟在哪裡呢?

像前面說過的那樣,埃及人對於1,10,100,1000,…每一個新的單位想出一個新的文字。

可是巴比倫人分別用,,來表示1,10,100,1000意味著10×100,所以寫成。我們可以認為在與之間省略了×(乘)的符號。同樣,表示10×10×100=10 000,表示10×10×10×100=100 000。這雖然只是數字,但其中隱含著重要的想法。這個想法就是把儘量少的數字組合在一起來表示儘可能大的數。節約數字的想法逐漸發展,發明了0,誕生出計算用的數字,成了今天人類的共同財富。就是這些計算用的數字,按照定位的原理,僅用10個數字0,1,2,3,4,5,6,7,8,9的排列,就能夠表示所有的數。

埃及人為什麼不節約數字呢?原因不太清楚,也許這個原因會出乎意料地出現在我們身邊。埃及人能夠在紙莎草纖維製成的草紙上畫精巧的圖畫。當有必要寫出相當於1000萬的數字時,能夠輕而易舉地畫出這樣的圖形文字。而巴比倫人卻辦不到,他們的紙就是黏土,筆就是在黏土上刻記號的粗陋的刮棒(見圖1-16)圖1-16,用刮棒充其量也就是刻出一些楔形溝。所以要像埃及人那樣把1000寫成等等真是太難了。巴比倫人必須想辦法找竅門,用簡單的楔形溝的組合寫出1000,這樣不就產生了嗎?總而言之,也許是因為他們用粗陋的刮棒和黏土,使他們不得不節約數字吧。

可是反過來說,這件事對於數學的發展卻是幸運的。實際上,從0的發明到創造計算用的數字,這一發展的線索不是聯繫在埃及系統,而是聯繫在巴比倫系統的數學上。

如果是使用方便的草紙使埃及的數學停止發展,而不方便的黏土卻給巴比倫數學的發展以很好的刺激,這可以說是歷史的諷刺吧。

上文節選自《數學與生活》, 已獲人郵圖靈許可, [遇見數學] 特此表示感謝!

相關焦點

  • 十進位,十二進位,六十進位從何而來?阿拉伯人成就了文藝復興?
    數字最終誕生但在此之前,我們需要先約定進位,雖然十進位看似自然而然;但3進位,4進位,5進位都曾出現在人類文明的幼年期;但絕大部分文明最後都採用了十進位,帝師亞里斯多德將其歸因於人類天生都擁有十根手指。
  • 吳國平:除了十進位, 人類文明史上還有哪些進位算法?
    當我們看到像1、25、356……這些耳熟能詳的數字,大家都知道這是學習數學的基礎,代表全世界通用的十進位,即滿十進一,滿二十進二,以此類推。世界通用的十進位,對於現代文明的我們看來是那麼地熟悉自然。在人類文明進程過程中,算法並不是就只有十進位一種,在很多文明體系中出現各種各樣的算法,如二進位、二十進位等等。
  • 人類計算數字常用「十進位」,為何計算時間卻是「六十進位」?
    人類計算數字常用「十進位」,為何計算時間卻是「六十進位」?正如標題中的問題那樣,我們人類在學習數學的時候,使用的都是「十進位」,也就是逢十進一。後來人類發明了計算機,為了便於計算機「理解」,便讓計算機使用了只有「0」和「1」的「二進位」。
  • 美索不達米亞文明與六十進位
    六十進位對於我們並不陌生,我們今天計算時間,就是把一小時分成六十分鐘,一分鐘又分成六十秒;對於地球經緯度的劃分,也是把一度分成六十分,每一分又分成六十秒。六十進位制的產生,可能是和天文學的發展有關係。正因如此,並使當時的人民已經分辨出了五個行星與恆星。
  • 怎麼用二進位計數器實現任意進位計數器
    任意進位計數器在實際中,除了有二進位計數和十進位計數外,還有其他進位的計數方法,如時鐘的小 時是十二進位,分、秒是六十進位。任意進位計數器又稱N進位計數器,除了二進位計數器 外,其他的計數器都可以稱為任意計數器,即十進位計數器也是任意計數器中的一種。
  • 顛覆認知的記數奇葩:原始二進位;一天只有 20 個小時!
    答:分不公平,肯定有人吃虧,因為我們用的是十進位,一元錢分成十角。10 不能被3 整除,所以無法完全平均分出去。 第二,為什麼一小時是 60 分鐘,一分鐘是 60 秒? 答:因為古巴比倫人使用的是六十進位,很多東西都以六十為單位。
  • 10月5日 十進位
    十進位被很多文明採用,最可能的原因就是人有10根指頭,非常方便計算。小時候最初接觸數學就是10以內加減法,老師教的就是數指頭,所以可以推測人類自文明起源之初用的就是這種方法。如果人類只有八根手指的話,估計現在通用的就是八進位了。單從數學的角度來講,10是2和5的最小公倍數,本身並不出眾。
  • 進位詳解:二進位、八進位和十六進位
    例如表示 5+8 的結果,一個數字不夠,只能」進位「,用 13 來表示;這時」進一位「相當於十,」進兩位「相當於二十。因為逢十進一(滿十進一),也因為只有 0~9 共十個數字,所以叫做十進位(Decimalism)。十進位是在人類社會發展過程中自然形成的,它符合人們的思維習慣,例如人類有十根手指,也有十根腳趾。進位也就是進位制。
  • 二進位、八進位、十進位、十六進位轉換計算方法
    進位也就是進位位,我們常用的進位包括:二進位、八進位、十進位與十六進位,它們之間區別在於數運算時是逢幾進一位。比如二進位是逢2進一位,十進位也就是我們常用的0-9是逢10進一位。
  • 二進位中沒有2,為什麼十進位中有10?
    換個說法,其實任意進位都可以叫做10進位。只是我們先採用了10(9+1)進位,而在此基礎上對其他進位進行了命名而已。 以上雖然是個笑話,但這個故事也說明了十進位的一個起源——人類的使用數字的計數方式是通過數手指演化來的。因為,人只有十根手指嘛。
  • python進位轉換:十進位轉二進位的用法
    我們在學習python時候肯定會碰到關於進位轉換,其實這是非常簡單的,這個就像小學學習數學乘法口訣意義,只要記住轉換口訣即可輕鬆應用,一起來看下具體的操作內容吧~一、python進位轉換dec(十進位)—> bin(二進位)dec(十進位)—>
  • 二進位、八進位、十進位與十六進位
    一、 進位的概念在計算機語言中常用的進位有二進位、八進位、十進位和十六進位,十進位是最主要的表達形式。對於進位,有兩個基本的概念:基數和運算規則。基數:基數是指一種進位中組成的基本數字,也就是不能再進行拆分的數字。二進位是0和1; 八進位是0-7;十進位是0-9;十六進位是0-9,A-F(大小寫均可)。也可以這樣簡單記憶,假設是n進位的話,基數就是【0,n-1】的數字,基數的個數和進位值相同,二進位有兩個基數,十進位有十個基數,依次類推。
  • 個人總結——二進位、十進位、十六進位轉換的方法
    近期和同事溝通時發現很多小夥伴多進位的轉換不太清晰,所以趁著周末自己總結了一下和大家分享想,下面先了解下定義。
  • 二進位、八進位、十進位和十六進位數之間的轉換方法
    因為日常生活中經常使用的是十進位數,而在計算機中採用的是二進位數。所以在使用計算機時就必須把輸入的十進位數換算成計算機所能夠接受的二進位數。計算機在運行結束後,再把二進位數換算成人們所習慣的十進位數輸出。這兩個換算過程完全由計算機自動完成。②轉換方法十進位整數化為非十進位整數採用「餘數法」,即除基數取餘數。
  • 為什麼時間是12進位,十進位不是很方便嗎?毫秒又為什麼是十進位
    就現在來說,十進位是公認的基礎計數原則,畢竟人類只有十根手指頭,十進位用的順手,而且整數進位讓人好計算一些,不需要依靠其他工具,對於數學不好的西方來說尤為重要。那麼,我們使用最多的是時間計數為什麼是十二進位呢?這事說來就話長了。
  • scratch+程小奔機器人實現「進位轉換」(十進位轉二進位)
    進位轉換圖【原創】文章全部內容皆為作者原創,如有轉載請註明出處我們人類有十根手指,通常情況下我們在生活中的計數方式為「十進位」(即0-9),也就說滿十進一;而在計算機的世界裡,基礎電路只有「開/關(通/斷)」(即0/1)兩種情況,這與誕生幾千年的二進位不謀而合;例如:二進位數字110,表達的就是十進位中的6;二進位數字1111,表達的就是十進位中的15。
  • 計算機基礎進位轉換(二進位、八進位、十進位、十六進位)
    1.十進位轉R進位1.1 十進位轉二進位十進位整數轉二進位十進位整數轉換成二進位採用「除2倒取餘」,十進位小數轉換成二進位小數採用
  • 二進位、十進位和十六進位
    1) 十進位就不多說了,逢十進位,一個位有十個值: 0 ~ 9,我們的生活中到處都是它的身影。書寫十六進位數據時需加前綴 0x,下表是三種進位之間的對應關係。2) 對於二進位來說, 8 位二進位我們稱之為一個字節,二進位的表達範圍值是從0b00000000 ~ 0b11111111,而我們在程序中用十六進位表示的時候就是從 0x00 到 0xFF,這裡教大家一個二進位轉換十進位和十六進位的方法,二進位 4 位一組,遵循 8/4/2/1 的規律比如 0b1010,那麼從最高位開始算,數字大小是 8*1+4*0+2*1+1*0 = 10,那麼十進位就是
  • 時間為什麼用 12 進位?
    雙手加起來十指,十進位可以讓人類不藉助其他工具就能計數,非常方便。於是各個文明的日晷都不約而同地選擇了12等分,中國出現了十二時辰,而歐洲覺得只有白天半天有太陽,因此把白天黑夜一分為二,各12個小時,本質上都還是出於12等分的方便性考慮的。這是時的由來。再說分和秒。這是倆出現在機械鐘之後的單位了。機械鐘在形式上沿用了日晷的圓盤式,一周是12小時。
  • 二進位、八進位和十六進位之間轉換詳解
    例如表示 5+8 的結果,一個數字不夠,只能」進位「,用 13 來表示;這時」進一位「相當於十,」進兩位「相當於二十。因為逢十進一(滿十進一),也因為只有 0~9 共十個數字,所以叫做十進位(Decimalism)。十進位是在人類社會發展過程中自然形成的,它符合人們的思維習慣,例如人類有十根手指,也有十根腳趾。