一、數值與數制轉換 (一)、數制 電腦中採用的是二進位,因為二進位具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省設備等優點。一般計數都採用進位計數: 逢N進一,N是每種進位計數製表示一位數所需要的符號數目為基數。 二進位:逢二進一,借一當二 八進位:逢八進一,借一當八 十六進位:逢十 ...
一、數值與數制轉換
(一)、數制
電腦中採用的是二進位,因為二進位具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省設備等優點。一般計數都採用進位計數:
逢N進一,N是每種進位計數製表示一位數所需要的符號數目為基數。
二進位:逢二進一,借一當二
八進位:逢八進一,借一當八
十六進位:逢十六進一,借一當十六
(二)、數制轉換
轉換原則:不同進位計數制之間的轉換時根據兩個有理數如相等,則兩數的整數和分數部分一定分別相等的原則進行的,即轉換前兩數相等,轉換後仍必相等。
十進位:有10個基數:0,1,2,3,4,5,6,7,8,9
二進位:有2個基數:0,1
八進位:有8個基數:0,1,2,3,4,5,6,7
十六進位:有16個基數:0——9,A,B,C,D,E,F(A=10,B=11,C=12,D=13,E=14,F=15)
二、十進位與其他進位之間的轉換
(一)、十進位與二進位
(1)十進位——二進位(取商補餘)
十進位數除以2,除至0時所得餘數按反方向寫出,即為二進位數。
例:36除以2得出的商依次是 18 9 4 2 1
所得餘數依次是 0 0 1 0 0 1
將餘數從右向左寫 1 0 0 1 0 0
所得出的100100位二進位數
(2)二進位——十進位
計算公式:a*20+b*21+c*22+...+m*2(n-1)=
以上公式中, a表示二進位數的右邊第一位數,b 、c 、...、m 以此類推。
例:1011001由右至左成為十進位為89
1*20+0*21+0*22+1*23+1*24+0*25+1*26
=1+8+16+64
=89
小技巧:為方便計算可將公式變為以下形式:(註:此小技巧僅適用於較小數字的計算)
二進位右數位數 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
十進 制數 |
1 |
2 |
4 |
8 |
16 |
32 |
64 |
128 |
公式原型 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
(二)、十進位與八進位
(1)十進位——八進位
十進位數逐次整除8,直至商為0,所得餘數按照相反的順序寫出,即為其八進位數。(同十進位——二進位)
(2)八進位——十進位(同 二進位——十進位)
計算公式:a*80+b*81+c*82+...+m*8(n-1)=
小技巧:
從右第n位 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
8(n-1) |
87 |
86 |
85 |
84 |
83 |
82 |
81 |
80 |
十進位下的實際數 |
2097152 |
262144 |
32768 |
4096 |
512 |
64 |
8 |
1 |
(三)、十進位與十六進位
(1)十進位——十六進位
十進位數除以十六,
0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)
十進位數逐次整除16,直至商為0,所得餘數按相反順序寫出,即為其十六進位數。(同十進位——二進位)
例:75除以16得出的餘數為 11(B) 4
餘數從右向左寫為4B(16)
(2)十六進位——十進位(同 二進位——十進位)
計算公式:a*160+b*161+c*162+...+m*16(n-1)=
小技巧:
163 |
162 |
161 |
160 |
4096 |
256 |
16 |
1 |
三、其他進位之間的轉換
(一)、二進位與八進位
(1)二進位轉換為八進位
對於整數,採用從左到右每三位一組,不夠三位的在其左邊補齊0,每組單獨轉換出來,即為八進位數。
例:(001 101 111 011)
1 5 7 3
所以,(1573)即為所得的八進位數。
(2)八進位轉換為二進位
將每位八進位由三位二進位數代替,即可完成轉換。
例:(1 7 3 5)
001 111 011 101
所以,(1111011101)即為所得的二進位數。
(二)、二進位與十六進位
(1)二進位轉換為十六進位
將二進位數的每四位用一個十六進位數位來表示,整數部分以小數點為界點從右往左每四位一組轉換,小數部分從小數點開始自左向右每四位一組進行轉換。
例:(1001 0111 0111 1001)
9 7 7 9
所以,(9779)為所得的十六進位數。
(2)十六進位轉換為二進位
只要將每一位十六進位數用四位相應的二進位數表示,即可完成轉換。
例:(8 7 6 5)
1000 0111 0110 0101
所以,(1000011101100101)為所得的二進位數。
綜上所述,十進位可以與二進位、八進位、十六進位相互轉換,二進位可以與八進位、十六進位相互轉換。