深入淺出談進制 V1

進制的問題,你如果瞭解其所以然,就明白了。這裏用8進制來講解,其他進制道理一樣的。

 

10進制是日常生活中最常用常見的計數法,據可靠來源分析,是因爲人類有10個手指頭。

 

有些人說時間和月份是12進制,其實時間和月份還是10進制。只不過最大就到12而已。但如果把10,11,12這3個數,看成是全新的符號,而不是0、1、2的組合,那麼時間和月份就是13進制,也不是12進制,爲啥? 請繼續閱讀)。

 

在記數時,比如計算木棍的數量時,記到11的時候,手指就不夠用了,怎麼辦?(腳趾?太累了還要拖鞋)於是聰明的人類就想了一個聰明的辦法:把已經用手數好的(10根)木棍,捆在一起,作爲一個單位,再給單位起個名,如:捆,就把問題零化整,陌生化熟悉了。因爲每數到10根,就會捆起來,新形成一個新的1(捆),所以不需要10這個專門的符號,而只需要一個更大的單位就可以了。捆多了,又數不過來了,怎麼辦,人類善於總結經驗,於是便發明了一個更更大的單位:堆,每10捆一堆。堆多了,再發明垛…… 可是“根捆堆垛”不太適合描述雞鴨等其他事物,更主要的是,無法表達抽象的概念,所以就另發明了:“個十百千……”來對應“根捆堆垛……”啊~現在你已經深刻的理解10位數了(什麼?不說你也理解的很深刻?)。

 

如果人類只有8個手指頭,情況會怎樣?恐怕就會8根一捆了,那也就沒有必要發明 8 和 9 這兩個數字符號了。因爲第8根總是要結合前7根變成一個新的1(捆),所以8這個符號實際是用不着的,而只有“1捆”這個概念。於是,個位、十位、百位、千位,這些名詞所代表的數量,也不是再10進制裏的10,100,1000,並且根據可靠消息來源,8進制國家的人們,或許更本就不會有“個十百千……”,而是直接用“根捆堆垛……”。根、捆、堆、垛,所代表的數量便是8,64,512和4096。

 

那麼,10個手指的人,怎麼和8個手指的人交流呢?

 

爲了和10進制計數區分開,我們給8進制的人,發明一種新的數字表達方法,就是在8進制的數前加上o(歐)這個符號。
因此10根木棍,就是1捆 + 2根,用上面提到的方法,寫作:
o12根(1捆×8根 + 2根 = 8 + 2 = 10根)
o50 說明有:5捆×8根+ 0根 = 40根

o70 說明有:7捆 ×8根 = 56根。。(7× 8的1次方
可以看出,再來一捆的話,o70根就有8捆了,所以又要用更高位(堆)來表示,就是o100。

o100  1堆 =  8捆 =  64根。

o200 說明有:2堆,2堆 ×8捆×8根 = 128根。(2 × 8的2次方
o3000 有3垛:3垛 ×8堆×8捆×8根 = 1536根。(2 × 8的3次方
以此類推,不難總結出來,8進制數第n位所代表的數量,就是那一位的數量乘上8的n次方(個位是第0位),而整個8進制數的數量,又是所有這些位的數量的總和。
o3210 這個數,第0位是0,第1位是1,第2位是2…… 是10進制的多少呢?
3 × 8^3 + 2 ×8^2 + 1 × 8^1 + 0 × 8^0 = 1672

o4567 = 4 × 8^35 ×8^26 × 8^17 × 8^0 = 2423

 

這樣,你就知道8進制國家的人,如何賣東西給10進制國家的人了。那麼10進制轉8進制呢。你只須換個思維角度,計算出“根捆堆垛”分別相對應的數量就可以了。比如:


10根有1捆零2根,那就是 o_1捆_2根  -> o12
16根呢?正好2捆: o_2捆_0根 -> o20
100呢?100有12捆零4根 ->
o_12_4,哦!12超過8,手指不夠用了,所以還得繼續分組。

12捆 =  1堆4捆,帶入o_12_4  -> o_14_4 -> o144。

 

這樣,也可以總結出來一個規律,不停的將中間超過8的數,向高位擴充,就是10進制轉8進制的方法。用數學來計算,就是不停的除8取餘就可以了,如1234根(個):

1234 / 8 = 154 餘 2 (1234根 是 154捆 餘 2

┌────────┘

154  /  8 = 19   餘 2 (154 捆  是  19堆  餘 2

┌────────┘
19   /  8 = 2     餘 3 (19  堆  是    2垛   餘 3

┌───────┘

  /   8 = 0     餘 2  (2   垛,小於手指數,餘 2

 

這個數就是2322
1234 = o2322

 

恭喜,你已經統治了10進制國和8進制國的公民,實現了雙邊貿易!3邊也不遠了~哦耶。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章