2進位制_8進位制_16進位制之間快速轉換的技巧.txt

pamxy發表於2013-03-23
一)、數制 
計算機中採用的是二進位制,因為二進位制具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省裝置等優點,為了便於描述,又常用八、十六進位制作為二進位制的縮寫。


一般計數都採用進位計數,其特點是: 
(1)逢N進一,N是每種進位計數製表示一位數所需要的符號數目為基數。 
(2)採用位置表示法,處在不同位置的數字所代表的值不同,而在固定位置上單位數字表示的值是確定的,這個固定位上的值稱為權。 
在計算機中:D7 D6 D5 D4 D3 D2 D1 D0 只有兩種0和1 
8 4 2 1


二)、數制轉換 
不同進位計數制之間的轉換原則:不同進位計數制之間的轉換是根據兩個有理數如相等,則兩數的整數和分數部分一定分別相等的原則進行的。也就是說,若轉換前兩數相等,轉換後仍必須相等。 
有四進位制 
十進位制:有10個基數:0 ~~ 9 ,逢十進一 
二進位制:有2 個基數:0 ~~ 1 ,逢二進一 
八進位制:有8個基數:0 ~~ 7 ,逢八進一 
十六進位制:有16個基數:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六進一


1、數的進位記數法 
N=a n-1*p n-1+a n-2*p n-2+…+a2*p2+a1*p1+a0*p0 
2、十進位制數與P進位制數之間的轉換 
①十進位制轉換成二進位制:十進位制整數轉換成二進位制整數通常採用除2取餘法,小數部分乘2取整法。例如,將(30)10轉換成二進位制數。 
將(30)10轉換成二進位制數 
2| 30 ….0 ----最右位 
2 15 ….1 
2 7 ….1 
2 3 ….1 
1 ….1 ----最左位 
∴ (30)10=(11110)2 
將(30)10轉換成八、十六進位制數 
8| 30 ……6 ------最右位 
3 ------最左位 
∴ (30)10 =(36)8


16| 30 …14(E)----最右位 
1 ----最左位 
∴ (30)10 =(1E)16 
3、將P進位制數轉換為十進位制數 
把一個二進位制轉換成十進位制採用方法:把這個二進位制的最後一位乘上20,倒數第二位乘上21,……,一直到最高位乘上2n,然後將各項乘積相加的結果就它的十進位制表示式。 
把二進位制11110轉換為十進位制 
(11110)2=1*24+1*23+1*22+1*21+0*20= 
=16+8+4+2+0 
=(30)10


把一個八進位制轉換成十進位制採用方法:把這個八進位制的最後一位乘上80,倒數第二位乘上81,……,一直到最高位乘上8n,然後將各項乘積相加的結果就它的十進位制表示式。 
把八進位制36轉換為十進位制 
(36)8=3*81+6*80=24+6=(30)10 
把一個十六進位制轉換成十進位制採用方法:把這個十六進位制的最後一位乘上160,倒數第二位乘上161,……,一直到最高位乘上16n,然後將各項乘積相加的結果就它的十進位制表示式。 
把十六制1E轉換為十進位制 
(1E)16=1*161+14*160=16+14=(30)10 
3、二進位制轉換成八進位制數 
(1)二進位制數轉換成八進位制數:對於整數,從低位到高位將二進位制數的每三位分為一組,若不夠三位時,在高位左面添0,補足三位,然後將每三位二進位制數用一位八進位制數替換,小數部分從小數點開始,自左向右每三位一組進行轉換即可完成。例如: 
將二進位制數1101001轉換成八進位制數,則 
(001 101 001)2 
| | | 
( 1 5 1)8 
( 1101001)2=(151)8


(2)八進位制數轉換成二進位制數:只要將每位八進位制數用三位二進位制數替換,即可完成轉換,例如,把八進位制數(643.503)8,轉換成二進位制數,則 
(6 4 3 . 5 0 3)8 
| | | | | | 
(110 100 011 . 101 000 011)2 
(643.503)8=(110100011.101000011)2 
4、二進位制與十六進位制之間的轉換 
(1)二進位制數轉換成十六進位制數:由於2的4次方=16,所以依照二進位制與八進位制的轉換方法,將二進位制數的每四位用一個十六進位制數碼來表示,整數部分以小數點為界點從右往左每四位一組轉換,小數部分從小數點開始自左向右每四位一組進行轉換。
(2)十六進位制轉換成二進位制數 
如將十六進位制數轉換成二進位制數,只要將每一位十六進位制數用四位相應的二進位制數表示,即可完成轉換。 
例如:將(163.5B)16轉換成二進位制數,則 
( 1 6 3 . 5 B )16 
| | | | | 
(0001 0110 0011. 0101 1011 )2 
(163.5B)16=(101100011.01011011)2




二、八、十六進位制轉換成十進位制數。2.8.16--10


方法:按權展開相加、將整數部分和小數部分按轉換方法分別轉換。




十進位制整數轉換成二、八、十六進位制整數。10--2.8.16(整數)


方法:除N取餘,倒向取數。




十進位制小數轉換成二、八、十六進位制小數。10--2.8.16(小數)


方法:乘N取整,正向取數。整數部分按整數轉換原則,小數部分按小數轉換原則,分別進行轉換。




二進位制數與八、十六進位制數的互相轉換。


方法:採用8421法。一位8進位制數正好表示3位2進位制數。一位16進位制數正好表示4位2進位制數。2--8方法:以小數點為界,向左右每3位分成一組,不夠補零。2--16方法:以小數點為界,向左右每4位分成一組,不夠補零。




八、十六進位制數轉換成二進位制數。8.16--2


方法:將每一位8進位制、16進位制的數分為3個、4個二進位制數(逆過程)。




八進位制數轉換成十六進位制數。8--16


方法:把2進位制當做橋樑,先把八進位制數轉換成二進位制數,再把二進位制數轉換成十六進位制數。
計算機中數的表示方法--二進位制 
1. 二進位制數的運算 
電子計算機一般採用二進位制數。二進位制數只有0和1兩個基本數字,容易在電氣元件中實現。 
二進位制數的運算公式: 
0+0=0 0×0=0 
0+1=1 0×1=0 
1+0=1 1×0=0 
1+1=10 1×1=1 
2.十進位制和二進位制間的轉換 
(1) 十進位制數轉換成二進位制 
將十進位制整數轉換成二進位制整數時,只要將它一次一次地被2除,得到的餘數從最後一個餘數讀起)就是二進位制表示的數。 
2) 二進位制數轉換成十進位制數 
將一個二進位制數的整數轉換成十進位制數,只要將按權展開。 
例:11011=1*24(2的4次方)+1*23(2的3次方)+0*22(2的2次方)+1*21(2的1次方)+1*20(2的0次方)=27 
3. 不同進位制數的轉換 
二進位制數和八進位制數互換:二進位制數轉換成八進位制數時,只要從小數點位置開始,向左或向右每三位二進位制劃分為一組(不足三位時可補0),然後寫出每一組二進位制數所對應的八進位制數碼即可。 
例:將二進位制數(10110001.111)轉換成八進位制數: 
010 110 001. 111 
2 6 1 7 
即二進位制數(10110001.111)轉換成八進位制數是(261.7)。反過來,將每位八進位制數分別用三位二進位制數表示,就可完成八進位制數和二進位制數的轉換。 
二進位制數和十六進位制數互換:二進位制數轉換成十六進位制數時,只要從小數點位置開始,向左或向右每四位二進位制劃分為一組(不足四位時可補0),然後寫出每一組二進位制數所對應的十六進位制數碼即可。 
例:將二進位制數(11011100110.1101)轉換成十六進位制數: 
0110 1110 0110. 1101 
6 E 6 D 
即二進位制數(11011100110.1101)轉換成十六進位制數是(6E6.D)。反過來,將每位十六進位制數分別用三位二進位制數表示,就可完成十六進位制數和二進位制數的轉換。
八進位制數、十六進位制數和十進位制數的轉換:這三者轉換時,可把二進位制數作為媒介,先把代轉換的數轉換成二進位制數,然後將二進位制數轉換成要求轉換的數制形式。


參考資料:http://zhidao.baidu.com/question/36627417.html?fr=ala0

相關文章