譚開軍
愛好編程
級別: 探索解密
|
一)、數制 計算機中采用的是二進制,因為二進制具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省設備等優點,為了便于描述,又常用八、十六進制作為二進制的縮寫。 一般計數都采用進位計數,其特點是: (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 |
|
---|---|---|
|