二進位制、八進位制、十進位制與十六進製制的特徵對照表如表所示:
進製 基數 數碼 計數規則 數的表示法
十進位制 10(d) 0~9 逢十進一 (1234)10 或1234d
二進位制 2(b) 0、1 逢二進一 (101)2 或101b
八進位制 8(o) 0~7 逢八進一 (3467)8 或3467o
十六進製制 16(h) 0~9、a~f
(a=10,b=11,c=12,d=13,e=14,f=15) 逢十六進一 (46af)16 或46afh
八進位制數:c語言中是在數的前面加數字o表示
十六進製制數:c語言中是在數的面前加數字0和字母x即0x或0x來表示
(1)整數部分轉換
把要轉換的十進位制數的整數部分不斷除以基數2,並記下餘數,直到商為0為止。
(n)10=(123)10
123/2=61 (a0=1) 最低整數字
61/2=30 (a1=1)
30/2=15 (a2=0)
15/2=7 (a3=1)
7/2=3 (a4=1)
3/2=1 (a5=1)
1/2=0 (a6=1) 最高整數字
(n)10=(1111011)2
二進位制數、八進位制數和十六進製制數的轉換
(2)小數部分轉換
對於被轉換的十進位制數的小數部分則應不斷乘以基數2,並記下其整數部分,直到結果的小數部分為0為止。
(n)10=(0.8125)10
0.8125*2=1.625 (b1=1) 最高小數字
0.625*2=1.25 (b2=1)
0.25*2=0.5 (b3=0)
0.5*2=1.0 (b4=1) 最低小數字
(n)10=(0.1101)2
在十進位制的小數部分轉換中,有時連續乘以2不一定能使小數部分等於0,這說明該十進位制小數不能用有限位二進位制小數表示。這時,只要取足夠多的位數,使其誤差達到所要求的精度就可以了。
(n)10=(123)10
123/8=15 (a0=3) 最低整數字
15/8=1 (a1=7)
1/8=0 (a2=1) 最高整數字
(n)10=(173)8
(n)10=(0.8125)8
0.8125*8=6.5 (b1=6) 最高小數字
0.5*8=4.0 (b2=4) 最低小數字
(n)10=(0.64)8
同理十六進製制數也是如此
其實,bcd編碼在中國大陸稱之為「8421碼」,用8421碼二進位制數與八進位制數、十進位制數、十六進製制數相互轉換。
1.二進位制數–>八進位制數
從小數點開始,分別向左右按3位分組轉換成對應的八進位制數字字元,最後不滿3位的,則需補0
具體方法為:
二進位制數: 001 101 101 . 101 010
八進位制數: 1 5 5 5 2
(001101101.101010)2=(155.52)8
2.八進位制數–>二進位制數
將每位八進位制數用3位二進位制數表示即可。
將八進位制數(345.64)8轉換成二進位制數
具體方法為:
八進位制數: 3 4 5 . 6 4
二進位制數: 011 100 101 110 100
(345.64)8=(11100101.1101)2
3.二進位制數–>十六進製制數
從小數點開始,分別向左、右按4位分組轉換成對應的十六進製制數字字元,最後不滿4位的,則需補0.
將二進位制數(1101101.10101)2轉換成十六進製制數
具體方法為:
二進位制數: 0101 1101 . 1010 1001
十六進製制數: 5 d a 9
(1011101.10101001)2=(5d.a9)16
4.十六進製制數–>二進位制數
將每位十六進製制數用4二進位制數表示即可。
將十六進製制數(a8d.6c)16 轉換成二進位制數。
具體方法:
十六進製制數: a 9 d . 7 c
二進位制數: 1010 1001 1101 0111 1100
(a9d.7c)16=(101010011101.011111)2
python進製數之間的轉換
常用的進製數為2進製,常用b bin表示,由0,1兩個字元組成 8進製,常用o oct表示,由0 7七個字元組成 10進製,也是我們最經常用的,由0 9十個字元組成 16進製制,常用h hex表示,由0 9,a f十六個字元組成。十進位制轉換為其他進製 給定乙個十進位制數轉換為其他進製 number...
進製之間轉換
簡介 二進位制轉換 二進位制轉八進位制 將二進位制從右至左,三個為一組,不夠左邊填0補齊,按權相加,拼接得到8進製 二進位制轉10進製 將二進位制數直接按權相加 二進位制轉16進製制 將二進位制從右至左,四個為一組,不夠左邊補0,按權相加,拼接得到10進製 轉為二進位制 八進位制轉二進位制 每乙個位...
進製之間轉換
對於整數部分,用被除數反覆除以2,除第一次外,每次除以2均取前一次商的整數部分作被除數並依次記下每次的餘數。另外,所得到的商的最後一位餘數是所求二進位制數的最高位。對於小數部分,採用連續乘以基數2,並依次取出的整數部分,直至結果的小數部分為0為止。故該法稱 乘基取整法 10進製數轉換成二進位制數,這...