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