進製數及之間轉換

2021-08-31 02:06:37 字數 2048 閱讀 5635

二進位制、八進位制、十進位制與十六進製制的特徵對照表如表所示:

進製 基數 數碼 計數規則 數的表示法

十進位制 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進製數轉換成二進位制數,這...