【Java Saves!】Session 5:計算機器之三--二指禅。本站提示廣大學習愛好者:(【Java Saves!】Session 5:計算機器之三--二指禅)文章只能為提供參考,不一定能成為您想要的結果。以下是【Java Saves!】Session 5:計算機器之三--二指禅正文
人有十指。人類掰著手指頭,創造出了0、1、2…9這十個數字。後來手指頭不夠用了,便創造出數位(個、十、百、千…)和滿十進一的規則,稱為十進制。
而計算機靠兩個手指頭任務。在計算機外部,只要0和1兩個數字;關於多位數,從低位向高位滿二進一。這叫二指禅--哦,不--叫二進制。
用Windows自帶的計算器順序看看二進制數長啥樣。翻開計算器,切換到“順序員”形式,隨意輸出一個數,它下面會同步顯示出這個數的二進制 表示方式 ,如下圖。假如您運用不同的Windows版本,計算器界面能夠看起來不一樣,但應該會有相似的形式和二進制顯示功用。
我輸出的是銀行卡密碼和博客園登錄密碼,十進制數123456。留意看到兩頭一排字:BIN 0001 1110… 好長一串,這就是123456這個(十進制)數的二進制 表示方式 。為什麼我要強調“表示方式”這四個字呢?由於它倆其實是一樣多,只是寫法--也就是表示方式--不同而已。真的是一樣多嗎?上面我演示給你看。
首先,我們慣用的十進制數,個位每個數是100 = 1,十位每個數是101 = 10,百位每個數是102 = 100,千位每個數是103 = 1000,…依此類推。所以
123456
= 1 × 105 + 2 × 104 + 3 × 103 + 4 × 102 + 5 × 101 + 6 × 100
= 1 × 100000 + 2 × 10000 + 3 × 1000 + 4 × 100 + 5 × 10 + 6 × 1
二進制是異樣的計算進程,只是每個數位所乘的指數的底數不是10,而是2。例如,個位每個數是20 = 1,十位每個數是21 = 2,百位每個數是22 = 4,千位每個數是23 = 8,…依此類推。所以
11110001001000000二進制
= 1 × 216 + 1 × 215 + 1 × 214 + 1 × 213 + 0 × 212 + 0 × 211 + 0 × 210 + 1 × 29 + 0 × 28 + 0 × 27 + 1 × 26 + 0 × …
= 1 × 216 + 1 × 215 + 1 × 214 + 1 × 213 + 1 × 29 + 1 × 26
= 1 × 65536 + 1 × 32768 + 1 × 16384 + 1 × 8192 + 1 × 512 + 1 × 64
= 123456
為什麼放著現成十個數字不必,而要用用0和1兩個數字表示的冗長方便的二進制數呢?不是由於計算機長了2個手指頭…是由於計算機/CPU外部是由有數個巨大的電子開關構成的,開關有翻開和封閉兩種形態,假如說用一個開關表示 一位數 的話,那麼每位數就只能有0和1兩種數字了。
嗯,正派事就說得差不多了,上面講點八卦--
八卦是這樣講的:易有太極,是生兩儀,兩儀生四象,四象生八卦。看出來沒?這就是6、7千年前我們的老祖先發明的二進制零碎,有
和 兩個數字。兩儀是一位數,四象是二位數,八卦是三位數。再往後推還有6位數的六十四卦,例如 、 。
當然,八卦是屬於中國的,但歸根結底是屬於韓國(全稱 大 韓民國)的--
而韓國,則是屬於百事的--