譚開軍
愛好編程
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 36 個
工控威望: 139 點
下載積分: 479 分
在線時間: 19(小時)
注冊時間: 2018-02-03
最后登錄: 2024-09-20
查看譚開軍的 主題 / 回貼
樓主  發(fā)表于: 2018-04-21 15:30
一)、數(shù)制
計算機(jī)中采用的是二進(jìn)制,因為二進(jìn)制具有運算簡單,易實現(xiàn)且可靠,為邏輯設(shè)計提供了有利的途徑、節(jié)省設(shè)備等優(yōu)點,為了便于描述,又常用八、十六進(jìn)制作為二進(jìn)制的縮寫。

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

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

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

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

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

(2)八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):只要將每位八進(jìn)制數(shù)用三位二進(jìn)制數(shù)替換,即可完成轉(zhuǎn)換,例如,把八進(jìn)制數(shù)(643.503)8,轉(zhuǎn)換成二進(jìn)制數(shù),則
(6 4 3 . 5 0 3)8
| | | | | |
(110 100 011 . 101 000 011)2
(643.503)8=(110100011.101000011)2
4、二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換
(1)二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù):由于2的4次方=16,所以依照二進(jìn)制與八進(jìn)制的轉(zhuǎn)換方法,將二進(jìn)制數(shù)的每四位用一個十六進(jìn)制數(shù)碼來表示,整數(shù)部分以小數(shù)點為界點從右往左每四位一組轉(zhuǎn)換,小數(shù)部分從小數(shù)點開始自左向右每四位一組進(jìn)行轉(zhuǎn)換。
(2)十六進(jìn)制轉(zhuǎn)換成二進(jìn)制數(shù)
如將十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),只要將每一位十六進(jìn)制數(shù)用四位相應(yīng)的二進(jìn)制數(shù)表示,即可完成轉(zhuǎn)換。
例如:將(163.5B)16轉(zhuǎn)換成二進(jìn)制數(shù),則
( 1 6 3 . 5 B )16
| | | | |
(0001 0110 0011. 0101 1011 )2
(163.5B)16=(101100011.01011011)2
能反編譯
zy123518763
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 102 個
工控威望: 216 點
下載積分: 753 分
在線時間: 103(小時)
注冊時間: 2017-08-20
最后登錄: 2024-08-19
查看zy123518763的 主題 / 回貼
1樓  發(fā)表于: 2018-04-22 20:03
先mark下  有空研究看看