常用進(jìn)制
-
二進(jìn)制:
- 1.1 二進(jìn)制是計(jì)算機(jī)采用的表示數(shù)字的方式, 每個(gè)數(shù)位上只有0和1;
- 1.2 任何整數(shù)一定可以采用二進(jìn)制的方式表示, 小數(shù)的二進(jìn)制這里不多說(shuō);
- 1.3 字節(jié)內(nèi)部采用二進(jìn)制方式記錄數(shù)字, 一個(gè)字節(jié)分成八段, 每個(gè)分段有一個(gè)編號(hào), 最右邊分段編號(hào)是0, 向左逐漸遞增
- 1.4 相鄰分段之間有2倍關(guān)系, 某個(gè)分段的數(shù)字相當(dāng)于2的編號(hào)次方, 如圖:
|2? | 23 | 22 | 21 | 2o |
-
十六進(jìn)制:
每一位上可以是從小到大為0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F16個(gè)大小不同的數(shù),即逢16進(jìn)1,其中用A,B,C,D,E,F(xiàn)(字母不區(qū)分大小寫)這六個(gè)字母來(lái)分別表示10,11,12,13,14,15
各個(gè)進(jìn)制的相互轉(zhuǎn)換
-
二進(jìn)制轉(zhuǎn)十進(jìn)制
二進(jìn)制轉(zhuǎn)為十進(jìn)制要從右到左用二進(jìn)制的每個(gè)數(shù)去乘以2的相應(yīng)次方。
如果首位是0就表示正整數(shù),如果首位是1則表示負(fù)整數(shù),正整數(shù)可以直接換算,負(fù)整數(shù)則需要先取反再換算。
因?yàn)橛?jì)算機(jī)內(nèi)部表示數(shù)的字節(jié)單位是定長(zhǎng)的。如8位、16位、32位。所以位數(shù)不夠時(shí),高位補(bǔ)零。
例如:
- 將二進(jìn)制11111111轉(zhuǎn)為十進(jìn)制計(jì)算如下所示:
1*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0=
128+64+32+16+8+4+2+1=255
結(jié)果為:255
- 將二進(jìn)制11111110轉(zhuǎn)為十進(jìn)制計(jì)算如下所示:
1*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+0*2^0=
128+64+32+16+8+4+2+0=254
結(jié)果為:254
- 將二進(jìn)制00101010轉(zhuǎn)為十進(jìn)制計(jì)算如下所示:
(0 * 2的7次方)+(0 * 2的六次方)+(1* 2的五次方)+(0 * 2的四次方)+(1 * 2的三次方)+ (0 * 2 的二次方)+ (1* 2的一次方)+(0 * 2的零次方)
0 + 0 + 32 + 0 + 8 + 0+ 0+ 2 + 0 = 42
結(jié)果為:42
-
十進(jìn)制轉(zhuǎn)二進(jìn)制:
-
除2取余逆序排列法
它的基本思想是不斷將十進(jìn)制數(shù)除以2,每次記錄余數(shù),直到商數(shù)為0為止。
然后我們將所有余數(shù)按相反的順序排列得到二進(jìn)制數(shù)。
例如:
- 將十進(jìn)制數(shù)
255轉(zhuǎn)換為二進(jìn)制數(shù),我們可以進(jìn)行如下的運(yùn)算:
255 / 2 = 127 余 1
127 / 2 = 63 余 1
63 / 2 = 31 余 1
31 / 2 = 15 余 1
15 / 2 = 7 余 1
7 / 2 = 3 余 1
3 / 2 = 1 余 1
1 / 2 = 0 余 1
然后我們將所有余數(shù)按相反的順序排列,即得到二進(jìn)制數(shù)1111 1111。
- 將十進(jìn)制數(shù)
128轉(zhuǎn)換為二進(jìn)制數(shù),我們可以進(jìn)行如下的運(yùn)算:
128 / 2 = 64 余 0
64 / 2 = 32 余 0
32 / 2 = 16 余 0
16 / 2 = 8 余 0
8 / 2 = 4 余 0
4 / 2 = 2 余 0
2 / 2 = 1 余 0
1 / 2 = 0 余 1
然后我們將所有余數(shù)按相反的順序排列,即得到二進(jìn)制數(shù)1000 0000。
將十進(jìn)制數(shù)
9轉(zhuǎn)換為二進(jìn)制數(shù),我們可以進(jìn)行如下的運(yùn)算:將十進(jìn)制數(shù)
9轉(zhuǎn)換為二進(jìn)制數(shù),我們可以進(jìn)行如下的運(yùn)算:
9 / 2 = 4 余 1
4 / 2 = 2 余 0
2 / 2 = 1 余 0
1 / 2 = 0 余 1
然后我們將所有余數(shù)按相反的順序排列,即得到二進(jìn)制數(shù)1001。
同樣的方法可以用于將任意十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)。
-
16進(jìn)制轉(zhuǎn)10進(jìn)制:
像10進(jìn)制數(shù)一樣,把16進(jìn)制數(shù)看成有個(gè)位數(shù),十位數(shù),百位數(shù)……
將“個(gè)位數(shù)”乘上16的0次方(16^0),
將“十位數(shù)”乘上16的1次方(16^1),
將“百位數(shù)”乘上16的2次方(*16^2),
最后將所有上面得到的數(shù)加起來(lái)就是他的十進(jìn)制數(shù)了
例如:
將十六進(jìn)制的 (10A) 轉(zhuǎn)換成10進(jìn)制的數(shù)
A*1=10
0*16=0
1*16^2=256
所以所得的數(shù)為10+0+256=266
將十六進(jìn)數(shù)2AF5轉(zhuǎn)換成10進(jìn)制的數(shù)
5×16o+F×161+A×162+2×163=10997
也可以用豎式表示:
第0位: 5×16o=5
第1位: F×161=240
第2位: A×162=2560
第3位: 2×163=8192
將十六進(jìn)數(shù)B2625轉(zhuǎn)換成10進(jìn)制的數(shù)
5×16o+ 2×161+ 6×162+ 2×163 + 2×16? = 140837.
也可以用豎式表示:
第0位: 5×16o = 5
第1位: 2×161 = 32
第2位: 6×162 = 1536
第3位: 2×163 = 8192
第4位: 2×16? = 131072
-
10進(jìn)制轉(zhuǎn)16進(jìn)制:
這個(gè)有點(diǎn)麻煩……將給定的十進(jìn)制整數(shù)除以基數(shù)16,余數(shù)便是等值的16進(jìn)制的最低位。
將上一步的商再除以基數(shù)16,余數(shù)便是等值的16進(jìn)制數(shù)的次低位。
重復(fù)上一步驟,直到最后所得的商等于0為止。
各次除得的余數(shù),便是16進(jìn)制各位的數(shù),
最后一次的余數(shù)是最高位
例如:
10進(jìn)制的 (100) 變?yōu)?6進(jìn)制
先把100除以16,得到6余數(shù)為4,則“個(gè)位數(shù)”為4;
用6除以16,得到0余數(shù)為6,則“十位數(shù)”為6。
所以100的16進(jìn)制為“64”。