一、數值與數制轉換
(一)、數制
計算機中采用的是二進制,因為二進制具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省設備等優點。一般計數都采用進位計數:
逢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)為所得的二進制數。
綜上所述,十進制可以與二進制、八進制、十六進制相互轉換,二進制可以與八進制、十六進制相互轉換。