周遊C語言教程2--太極生兩儀

簡介

衆所周知,世界由陰陽太極構成,太極生兩儀,兩儀生四象,四象生八卦。同樣的,c語言的世界也是由陰陽太極構成的,這一章我們將會介紹陰陽是如何構成c語言世界的基礎的。
太極圖鎮樓

太極生兩儀----二進制

如果你略微瞭解過編程的話,那你一定聽說過二進制。那麼什麼是二進制呢,我們先來看張圖。
太極兩儀四象八卦
沒錯,就是這張太極八卦圖,太極生兩儀,兩儀有陰陽兩種。
如果把兩個陰陽組合,就生出了太陰、太陽、少陰、少陽四種。
如果把三個陰陽組合,就會生出坤、艮、坎、巽、震、離、兌、乾八種。
這裏,我們把陰看作0,把陽看作1,從下往上數,並且從0開始給他們編號,那麼就可以出現如下表格

編號 卦象 數字
0 太陰 00
1 少陽 01
2 少陰 10
3 太陽 11
編號 卦象 數字
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

這裏數字就是二進制,編號就是十進制。那麼進制到底是什麼意思呢?進制的意思就是逢幾進一,十進制就是逢十進一,二進制就是逢二進一。我們來具體舉例:

十進制下,9+1結果到十了,那麼我們就要進一變成10;那麼這裏的10表示十個1的和。

二進制下,1+1結果到二了,那麼我們就要進一變成10;那麼這裏的10表示兩個1的和。爲了更好理解,我們拿“巽”卦來舉例,“巽”卦代表的是011,我們在“巽”卦的基礎上加1,“個”位的1+1,我們知道二進制下1+1等於10,所以這時“個”位爲0,向“十”位進一,“十”位的1+1等於10,再向“百”位進一,“百”位1+0等於1,所以最後答案是100,對應我們的卦象表就是
“震”卦,它的編號是4,比“巽”卦的3正好大了1。

二進制轉十進制

經過上面的介紹大概能理解二進制和十進制的區別了吧!

那麼我們要怎麼把二進制轉換成十進制呢?

我們先來講常見的十進制,432,個位2表示有2個1,也就是2個10的0次方;十位3表示3個十,也就是3個10的1次方;百位4表示4個百,也就是4個10的2次方。同樣的二進制也是這樣,看下圖。
二進制轉十進制

這裏的10110011對應的是179,大家可以把下面的算式算出來看看是不是179。

十六進制

什麼是十六進制,看過上面的文章大家應該都知道了吧,就是逢十六進一,十六進制下,超過9之後我們用a表示10、b表示11…、f表示15,爲什麼要說十六進制,因爲所有和2有關的東西都和c語言很有緣。究其原因,c語言的世界是由陰陽構成的。

在c語言種我們把1組陰陽叫做一個bit(比特),通常在c語言當中,我們用8個比特,16個比特,32個比特,64個比特來表示一個數字,如果全都用陰陽來表示的話,相信我,你絕對會眼花,直接用8個比特來表示的話。。。emmm,我們通過上述文章可以知道,有幾組陰陽就有2的幾次方組合方式,那麼8組陰陽就有256種組合方式,英文字母才26個,256個要什麼用什麼表示。。。那麼如果用2個4組陰陽來表示8個陰陽的話。。。我們來舉例:1101 0110,1101是D,0110是6(自己算)那麼11010110就可以用D6來表示。看起來是不是簡便多了。

至於爲什麼不用十進制來表示,11010110的十進制是214,那麼請問230和214哪幾組陰陽(哪幾個比特)不同?很難看出來吧?要先轉成二進制才能看出來,但是十六進制表示呢?230是E6,214是D6,顯然只有E和D不同,E是1110,D是1101,那麼到底哪幾位不同是不是顯然了?

那麼一個數字32,它到底是十進制的數還是十六進制的數呢?這裏就比較簡單了,我們給它個標誌,前面加了0x就是十六進制,加了0b就是二進制,一般不加就是十進制。舉例0x32就是表示十六進制,32一般就是十進制,0b1001就是二進制。

總結

進制就是逢幾進一,二進制就是逢二進一,十六進制就是逢十六進一。
c語言一般用8的倍數組比特來表示一個數(8、16、32、64)所以用十六進制來表示會很簡單的表示各個比特的值。

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