二进制(Binary),八进制(Octal),十进制(Decimal)十六进制(Hex)
1. 二进制(B) ==》 十进制 (D)
把每位的2次方的结果从左到右依次相加的结果就是十进制的值
eg:(101100)B = (44)D
计算过程:1
2^0*0 + 2^1*0 + 2^2*1 + 2^3*1 + 2^4*0 + 2^5*1 = 0 + 0 + 4 + 8 + 0 + 32 = 44
2. 十进制(D) ==》 二进制(B)
1). 整数部分,除2取余法,直到0为止,读数从最后一个余数往前读
eg: (44)D = (101100)B
计算过程:
44 ➗ 2 = 22 —— 0
22 ➗ 2 = 11 —— 0
11 ➗ 2 = 5 —— 1
5 ➗ 2 = 2 —— 1
2 ➗ 2 = 1 —— 0
1 ➗ 2 = 0 —— 1
2)小数部分,先乘2,然后获得运算结果的整数部分,再将结果中的小数部分乘2,以此类推,将第一次得到的整数部分作为高位。
eg: (0.25)D = (0.01)B
计算过程:1
2
3
4
5
6
7
8
90.25 * 2 = 0. 5 (0)
0.5 * 2 = 0.1(1)
```
### 3. 二进制(B) === 》 八进制 (O)
取三合一法,每三位成一位,将这三位二进制按权相加。
小数点前从右往左,不足在最左边补0
小数点后从左往右,不足在最右边补0
eg:(10111.10101)B = (27.52)O
计算过程:
[0]10 111 . 101 01[0]
2 7 . 5 21
2
3
4### 4. 八进制(O) === 》 二进制 (B)
取一分三法
eg: (27.52)O = (10111.10101)B
计算过程:
2 7 . 5 2
10 111 . 101 101
2
3
4### 5. 二进制(B) === 》 十六进制(H)
取四合一法,方法同3
eg: (101111111)B = (17F)H
计算过程:
[000]1 0111 1111
1 7 151
2
3### 6. 十六进制(H) === 》 二进制(B)
取一分四
eg:(17F)H = (101111111)B
1 7 15
0001 0111 11111
2
3
4### 7. 八进制(O) === 》 十进制(D)
把每位的8次方的结果从左到右依次相加的结果就是八进制的值
eg: (120)O = (80)D
计算过程:
8^00 + 8^12 + 8^2*1 = 0 + 16 + 64 = 801
2
3
4
5
6
7
8
9
10### 8. 十进制(D) === 》 八进制(O)
除8取余法,直到0为止,读数从最后一个余数往前读
eg: (80)D = (120)O
计算过程:80 ➗ 8 = 10 --- 0
10 ➗ 8 = 1 --- 2
1 ➗ 8 = 0 --- 1
### 9. 十六进制(H) === 》 十进制(D)
把每位的16次方的结果从左到右依次相加的结果就是十六进制的值
eg: (B4)H = (180)D
计算过程:
16^04 + 16^111 = 4 + 176 = 801
2
3
4
5
6
7
8
9#### 10. 十进制(D) === 》 十六进制(H)
除16取余法,直到0为止,读数从最后一个余数往前读
eg: (180)D = (B4)H
计算过程:180 ➗ 16 = 11 --- 4
11 ➗ 16 = 0 --- 11
### 11. 八进制(O) === 》 十六进制(H)
先将八进制转二进制再二进制转十六进制
eg: (166)O = (76)H
计算过程:
1 6 6
001 110 110
0111 0110
7 61
2
3### 12. 十六进制(H) ==》 八进制(O)
先将十六进制转二进制再二进制转八进制
eg: (76)H = (166)O
7 6
0111 0110
01 110 110
1 6 6`
总结:
- 十进制转其他进制除基取余,其他进制转十进制乘以基数的次方
- 二进制转八进制,取三合一,反之取一分三,整数部分向左,小数部分向右,不足位用0补
- 二进制转十六进制,取四合一,反之取一分四,整数部分向左,小数部分向右,不足位用0补