1. 二進(jìn)制 <=> 十進(jìn)制
- 二進(jìn)制 轉(zhuǎn) 十進(jìn)制
eg: 10101.01 => 21.25
計(jì)算方式:
1 * 2^0 + 0 * 2^1 + 1 * 2^2 + 0 * 2^3 + 1 * 2^4 + 0 * 2^-1 + 1 * 2^-2 = 1 + 0 + 4 + 0 + 16 + 0 + 0.25 = 21.25
說明:二進(jìn)制數(shù)的整數(shù)部分從右到左計(jì)算(n * 2^0 + n1 * 2^1 + n2 * 2^2.......),小數(shù)部分從左到右計(jì)算(n * 2^-1 + n1 * 2^-2 + n2 * 2^-3.......),然后相加所得就是十進(jìn)制數(shù)。
- 十進(jìn)制 轉(zhuǎn) 二進(jìn)制
eg: 30.69 => 11110.101100001010
計(jì)算方式:
先計(jì)算整數(shù)部分:
30 / 2 = 15 ----余0
15 / 2 = 7 ----余1
7 / 2 = 3 ----余1
3 / 2 = 1 ----余1
1 / 2 = 0 ----余1
整數(shù)部分轉(zhuǎn)為二進(jìn)制數(shù)為 11110
再計(jì)算小數(shù)部分:
0.69 * 2 = 1.38 -----取整數(shù) 1
0.38 * 2 = 0.76 -----取整數(shù) 0
0.76 * 2 = 1.52 -----取整數(shù) 1
0.52 * 2 = 1.04 -----取整數(shù) 1
0.04 * 2 = 0.08 -----取整數(shù) 0
0.08 * 2 = 0.16 -----取整數(shù) 0
0.16 * 2 = 0.32 -----取整數(shù) 0
0.32 * 2 = 0.64 -----取整數(shù) 0
0.64 * 2 = 1.28 -----取整數(shù) 1
0.28 * 2 = 0.56 -----取整數(shù) 0
0.56 * 2 = 1.12 -----取整數(shù) 1
0.12 * 2 = 0.24 -----取整數(shù) 0
如此計(jì)算下去,直到積中的小數(shù)部分為零,此時0或1為二進(jìn)制的最后一位。或者達(dá)到所要求的精度為止。
說明:十進(jìn)制轉(zhuǎn)二進(jìn)制,整數(shù)部分除2取余,小數(shù)部分乘2取整,之后整數(shù)部分余數(shù)從下往上依次為二進(jìn)制的高位到低位,小數(shù)部分的取整從上往下依次為二進(jìn)制的小數(shù)部分高位到低位。
2. 二進(jìn)制 <=> 八進(jìn)制
- 二進(jìn)制 轉(zhuǎn) 八進(jìn)制
eg: 10010110 => 226
計(jì)算方式:
110 (從右數(shù)三位)
0 * 2^0 + 1 * 2^1 + 1 * 2^2 = 0 + 2 + 4 = 6
010 (從右數(shù) 第4位到第6位)
0 * 2^0 + 1 * 2^1 + 0 * 2^2 = 0 + 2 + 0 = 2
010 (從右數(shù) 第7位到第9位,不足補(bǔ)0)
0 * 2^0 + 1 * 2^1 + 0 * 2^2 = 0 + 2 + 0 = 2
轉(zhuǎn)換的八進(jìn)制為 226
說明:二進(jìn)制轉(zhuǎn)八進(jìn)制,從右到左,三位二進(jìn)制算一次,不足三位補(bǔ)0,然后把所得值 從左到右排列即是 八進(jìn)制數(shù)。
- 八進(jìn)制 轉(zhuǎn) 二進(jìn)制
eg: 226 => 10010110
計(jì)算方式:
2 (從左數(shù),第一位)
2 / 2 = 1 ----余數(shù)0
1 / 2 = 0 ----余數(shù)1
轉(zhuǎn)換二進(jìn)制數(shù)為: 010
2 (從左數(shù),第二位)
2 / 2 = 1 ----余數(shù)0
1 / 2 = 0 ----余數(shù)1
轉(zhuǎn)換二進(jìn)制數(shù)為: 010
6 (從左數(shù),第三位)
6 / 2 = 3 ----余數(shù)0
3 / 2 = 1 ----余數(shù)1
1 / 2 = 0 ----余數(shù)1
轉(zhuǎn)換二進(jìn)制數(shù)為: 110
轉(zhuǎn)換的二進(jìn)制數(shù)為:10010110
說明:八進(jìn)制轉(zhuǎn)二進(jìn)制,每位八進(jìn)制數(shù)對應(yīng)三位二進(jìn)制數(shù),不足在高位補(bǔ)0,每位八進(jìn)制數(shù)是除2取余,且得到的余數(shù)的排序是從下往上組成二進(jìn)制數(shù)。此時如果這個八進(jìn)制的數(shù)在高位,那么得到的三位二進(jìn)制數(shù)也在高位。
圖示:
3. 二進(jìn)制 <=> 十六進(jìn)制
- 二進(jìn)制 轉(zhuǎn) 十六進(jìn)制
eg:11010010 => D2
計(jì)算方式:
0010(從右邊數(shù)4位)
0 * 2^0 + 1 * 2^1 + 0 * 2^2 + 0 * 2^3 = 0 + 2 + 0 + 0 = 2
1101(從右邊數(shù)第5位至第8位)
1 * 2^0 + 0 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 + 0 + 4 + 8 = 13
轉(zhuǎn)換的十六進(jìn)制為:D2
注: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)
說明: 二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù),從二進(jìn)制數(shù)低位開始算起,每4位對應(yīng)一個十六進(jìn)制數(shù),不足4位補(bǔ)0,且低位與低位,高位與高位一一對應(yīng)。此時,每4位二進(jìn)制數(shù)計(jì)算方式等同上面轉(zhuǎn)為十進(jìn)制數(shù)的計(jì)算方式。
- 十六進(jìn)制 轉(zhuǎn) 二進(jìn)制
eg:D2 => 11010010
計(jì)算方式:
13 / 2 = 6 -----余 1
6 / 2 = 3 ------余 0
3 / 2 = 1 ------余1
1 / 2 = 0 ------余 1
D轉(zhuǎn)換為二進(jìn)制數(shù)為:1101
2 / 2 = 1 ------余 0
1 / 2 = 0 ------余 1
2 轉(zhuǎn)換為二進(jìn)制數(shù)為:0010
end 轉(zhuǎn)換的二進(jìn)制數(shù)為: 11010010
說明: 十六進(jìn)制轉(zhuǎn)換二進(jìn)制,每個高位數(shù)對應(yīng)4個二進(jìn)制高位數(shù),每個低位數(shù)對應(yīng)4個二進(jìn)制低位數(shù),每個十六進(jìn)制數(shù)對2取余,余數(shù)從下往上排序,不足在高位補(bǔ)0.
圖示:
4.十進(jìn)制轉(zhuǎn)八進(jìn)制 或者 十六進(jìn)制有兩種方法
- 間接法—把十進(jìn)制轉(zhuǎn)成二進(jìn)制,然后再由二進(jìn)制轉(zhuǎn)成八進(jìn)制或者十六進(jìn)制
-
直接法—把十進(jìn)制轉(zhuǎn)八進(jìn)制或者十六進(jìn)制按照除8或者16取余,直到商為0為止
圖示:
進(jìn)制73f0013f.jpg
5. 八進(jìn)制或者十六進(jìn)制轉(zhuǎn)成十進(jìn)制
計(jì)算方法:直接把八進(jìn)制、十六進(jìn)制數(shù)按權(quán)展開、相加即得十進(jìn)制數(shù)
6. 十六進(jìn)制轉(zhuǎn)八進(jìn)制
計(jì)算方式:先轉(zhuǎn)成二進(jìn)制 或 十進(jìn)制,再互轉(zhuǎn)。