一 、數制
計算機中採用的是二進位,因為二進位具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省設備等優點,為了便於描述,又常用八、十六進位作為二進位的縮寫。
一般計數都採用進位計數,其特點是:
(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
三 、二進位轉換成八進位數
(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
四 、二進位與十六進位之間的轉換
(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進位轉10進位最簡便方法??
如:(10111)2
=(((((0*2+1)*2+0)*2+1)*2+1)*2+1)10
=((((1*2+0)*2+1)*2+1)*2+1)10
=((((2+0)*2+1)*2+1)*2+1)10
=(((2*2+1)*2+1)*2+1)10
=(((4+1)*2+1)*2+1)10
=((5*2+1)*2+1)10
=((10+1)*2+1)10
=(11*2+1)10
=(22+1)10
=(23)10
來源:網際網路
看完不要忘記分享哦!