挑戰408——組成原理(2)——二進制數和十六進制數

這算是數據的表示運算這一部分的第一篇文章了,這部分多且繁雜,因爲我們通常都是以10進制的數進行計算和表示的,用了10幾年,突然接受一種新的表示方式難免會導致理解困難。初學這章我也是半懵逼狀態的,好在複習了一輪後,又去多次問了老師相應的問題,纔算有個大致的瞭解。所以這系列的文章如果有不對的地方,歡迎批評指正。
這篇是基礎篇,是學習後面的各種運算的基礎,所以得好好看,好好理解。

從10進制->2進制->16進制

我們的日常習慣,是用10進製表示的,如果滿10了就向前進一位。比如 9 + 2 = 11. 9 + 2 = 10 + 1,所以向前進一位,剩下的位數填在後面。
那麼好端端的爲什麼我們在機器中不用10進製表示而非要改變常規的思路使用二進制呢?我們當然不是吃飽了撐的,是沒辦法的事,因爲這是由計算機的硬件決定的(可以多去百度,不細說)。在接下來的學習中,10進制到2進制的轉換就是家常便飯了。具體的轉換規則我想打算考408的不可能不會,所以不說。
類似的,計算機也常有16進制來表示一些數,如果說二進制是爲了讓計算機更容易理解我們的10進製表達方式,那麼16進制就是爲了讓我們更容易讀懂計算機的表達方式,而且利用16進制數可以快速的在2進制和16進制之間相互轉化。(因爲4位2進制數恰好可以表示16個數字(即0-15))。16進制數最常用的是在表示物理內存空間的時候,比如我們看到的0xAFFFH等等就是典型的16進制數。

BCD編碼

爲了方便的表示各二進制與其他進制的轉換關係,於是有了BCD編碼,編碼的種類很多,我們就講最簡單,最常用的8421編碼。特點是用4位二進制數表示一位16進制的數
下面的表列出了8421編碼的對應項(完全可以自己手動算,要記住下面的這個內容):
在這裏插入圖片描述
在這裏插入圖片描述
爲什麼強調這張表的重要性呢?我們看看怎麼轉換吧:
比如,給出一個16進制的數036A,我們化爲二進制數就可以這樣化:

  1. 從末尾開始,將每個16進制的位數都按照形式相應的寫出二進制數。
  2. 拼接即可。

所以,直接寫出二進制數爲:
0000,0011,0110,1010(是不是特別方便?這裏的逗號是爲了方便觀察而加的,實際不存在)。

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