數(shù)字電路基礎(chǔ)(2)——數(shù)的進制

本章描述我們?nèi)绾螐?0進制的認知模式變成在2進制、16進制任意切換的模式,順便介紹下補碼等不常用的進制知識。

幾種進制介紹

十進制

太簡單了,不說了

二進制

有人說二進制就是0101這種只有0和1的東西,但是要完全講清楚還是要做一系列對比的,比如十進制我們從0數(shù)到9十個數(shù),再往后就要進位了,從一位數(shù)變成兩位數(shù)10,1是高位,代表1個10,再加上0是十,所以這種十個數(shù)進一位,一個高位代表10的叫做十進制,我們平時都太習慣了,所以都沒意識到這些東西。同樣的道理,二進制就是兩個數(shù)0、1就要進位,而10的高位1只代表2,加上低位0也只表示二的這種進制,就叫做二進制。我這樣講你懂了嗎?0101b表示5。

為什么要有二進制呢?因為我們技術(shù)不行,做出來的硅晶體只能表達出0和1兩種狀態(tài),如果有一天我們技術(shù)牛了,一個元件可以表示出穩(wěn)定的十六種狀態(tài),那我們的電路要換代了,變成十六進制的了->_->(事實上,SSD行業(yè)正在經(jīng)歷這一變化)

十六進制

我個人喜歡舉一反三,那16進制啥意思你能自己推出來不?不會?看看上面一段,0到。。呃9往后怎么表示,10 11嗎?這樣就變成兩位數(shù)了,不行,那我們用A B C D表示吧,那就是0到E一共16個數(shù)才進位,高位1表示16個的進制。0x11或者11h表示17。

為什么有十六進制?。恳驗槲覀冇X得二進制太長了,寫代碼也好,寫文章也好很不方便,比如二進制11010100010101011101010100011011用十六進制表示才0xD455D51B這么短,神奇不?

八進制

同上,就說下寫法是后面帶個o,比如11o表示9

進制的轉(zhuǎn)換

進制的轉(zhuǎn)換一般就是十進制轉(zhuǎn)某個進制或者某個進制轉(zhuǎn)十進制,很少非十進制之間互轉(zhuǎn)的。二進制轉(zhuǎn)換的訣竅如下:

1111 對應的每位1分別代表十進制的 8 4 2 1,記住這四個數(shù)字二進制隨便轉(zhuǎn),比如1011 是 8 + 2 + 1 = 11

十六進制在轉(zhuǎn)換上沒什么訣竅,唯一需要訓練熟練的就是隨便給出A~E中的一個字母,你能瞬間反應出來它是幾:

A-10 B-11 C-12 D-13 E-14 F-15,至于數(shù)字的轉(zhuǎn)換,因為十六進制比較大,我也做不到口算,比如0xfeac是多少,我口算是算不出來的,不過,我有個任何教科書都不會講的終極大絕招,那就是:


他就是我們windows自帶的計算器,在開始菜單輸入計算器調(diào)出,點擊查看-程序員,就可以切換到這個模式,選擇左邊的進制按鈕,輸入你要轉(zhuǎn)換的數(shù)字,然后點擊切到另一個進制,計算器會幫你完成計算,有了它你就可以無往不勝,所向披靡。

什么?你說這種不用筆算的是沒有靈魂的?快忘了你考試的那一套吧,現(xiàn)在寫個代碼誰還沒有電腦來著。

其他不常用知識

不常用就是說不常用,就是說你不看也可以,用到了臨時Google就行,比如:補碼、反碼、補碼運算,它們是為了在設(shè)計CPU的時候簡化電路的目的設(shè)計的,你不涉及這么底層可能永遠都遇不到。

那補碼和反碼是什么呢?

我都說不常用了你還指望我講?其實我也不會!

那接下來,我們抓緊進入下一節(jié):《數(shù)字電路基礎(chǔ)(3)——邏輯運算》,你得知道1+1等于幾?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容