數制與進制轉換

計算機與程序設計中,我們常見的數制有二進制(B),八進制(O),十進制(D)和十六進制(H)。

二進制數:(以0B開頭)

二進制數又稱機器數,在機器的世界裏,只認識0和1,二進制數就使用0和1來表示。一般來說二進制數很容易區分和判斷,因爲二進制數哪怕一個非常小的數都非常長,有時候我們習慣從右往左,每四位數空格分隔,這樣易於辨識數的大小。
如:14用二進制來表示可以寫作1110
25用二進制表示可以寫作0001 1001(或11001)
轉換方法如下:
數制與進制轉換
如圖十進制的123轉成二進制就是1111011,其實轉成幾進制都是一個道理。一直除到爲0爲止。
二進制轉十進制:

把每個數位單獨轉換後把所有的轉換結果求和

數制與進制轉換

計算機字節裏採用二進制補碼記錄數字,數據在計算機中主要是以補碼的形式存儲的。計算機中的二進制則是一個非常微小的開關,用“開”來表示1,“關”來表示0。

所有非負數整數, 補碼和原碼一樣
.十進制負數轉二進制:“先取正數的二進制值,再取反,加1”
【例】:(-31)10 = (1)2 ----這是在計算機世界裏的表示方法,取反,實際上,-31的二進制表示爲-11111
31的二進制數爲11111,取反00000,加1得1。
二進制轉八進制或16進制
1、先轉換爲10進制數再使用短除法轉換。
2、轉換八進制可以使用 421每三位一轉。如剛剛的123的二進制爲0B1 111 011,八進制則爲1 4+2+1 2+1 =173
3、轉換16進制和8進制同理,使用8421轉換。 132的二進制爲111 1011十六進制爲 4+2+1 8+0+2+1 =7B

八進制數

八進制數爲每逢八位進一位,八進制數規定必須以0開頭。八進制使用01234567這八位數字來表示數值。
八進制轉二進制則是拆分,每個數拆分爲三位的二進制數照寫就OK。
八進制轉十進制,權值相加就ok。如下圖。
數制與進制轉換
八進制轉十六進制數需要使用二進制或十進制作爲中間橋樑,二進制作爲中間數會更加簡單一些。
例如:
八進制的:1234567

轉換爲二進制是每個數字轉換爲三位二進制:001 010 011 100 101 110 111

然後把這些數字從右邊開始進行按四位分組:0 0101 0011 1001 0111 0111

然後從右邊每四位組依次對應一個16進制數:053977

十六進制數

十六進制數爲每逢16位進一位,十六進制數規定必須以0X開頭。十六進制使用0123456789ABCDEF這十六個數來表示。
16-->2:
要將十六進制數轉換成二進制數,只要將1位十六進制數寫成4位二進制數,然後將整數部分最左邊的“0”和小數部分最右邊的“0”去掉即可。

例如:3B.328H = 0011 1011.0011 0010 1000B = 111011.001100101B
16-->8:可以先寫成2進制數,再轉化成八進制。如上面的
3B.328H = 0011 1011.0011 0010 1000B = 00 111 011. 001 100 101 000B
=73.145O
16-->10:使用權值法,就ok。如2AF5=數制與進制轉換
例:1A6.3B8H
=110^2+A10^1+610^0+310^(-1)+B10^(-2)+810^(-3)
=116^2+1016^1+616^0+316^(-1)+1116^(-2)+816^(-3)
=419.232422

十進制數
十進制數轉換任意數制都可參照二進制數的短除法,幾進制就除幾。類似,此處不再贅述。

進制轉換完成
————楊廣

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