二进制、八进制、十进制、十六进制 之间的转换共以下12种:
2→8,2→10,2→16,8→2,8→10,8→16,10→2,10→8,10→16,16→2,16→8,16→10。
经归纳可分为三大类:
3.4位一体法、按权展开求和法、取余法
要先
## 3.4位一体法(6种)
既2,8,16之间互相转换:
2-8,2-16,8-2,8-16,16-2,16-8
将8进制分为3位一组的2进制,16进制分为4位一组的2进制,小数点往左不足的左侧➕0,小数点往右不足的右侧➕0。
## 按权展开求和法(3种)
既X→10
2-10,8-10,16-10
小转大直接展开算,如八进制321.45(8)转十进制,小数点左侧第一个数的幂是0,第二个数的幂是1,小数点右侧第一个数的幂是-1,第二个数的幂-2,所以321.123(8)转10进制=1x8(0)+2x81+3x82+4x8-1+5x8-2
## 取余法(3种)(任何大转小都可以)
既10→X
10-2,10-8,10→16
整数部分除以8得到商与余数,再拿商除以小进制直到商小于小进制。从下往上把余数组合起来即可如:
十进制100.3(10)转八进制,
100/8=12…4
12/8=1…4
1/8=0…1
所以整数部分=144
小数部分乘以8得到积与余数,再以余数乘以8,直到结果为整数,取每次结果的整数部分,如:
0.3x8=2.4取2
0.4x8=3.2取3
0.2x8=1.6取1
0.6x8=4.8取4
0.8x8=6.4取6
0.4x8=3.2取3
0.2x8=1.6取1
…
所以小数部分=231463146…
所以100.3(10)=144.231463146…(8)
总结
- 2,8,16之间可以随意转(3.4位1体);
- 所有10→X都可以取余法;
- 所有X→10都可以展开法;
- 10→16特殊:先→2取余再4位1体。
2 | 8 | 10 | 16 | |
---|---|---|---|---|
2 | 🈚 | 3位1体 | 展开 | 4位1体 |
8 | 3位1体 | 🈚 | 展开 | 3.4位1体 |
10 | 取余 | 取余 | 🈚 | 转2取余→4位1体 |
16 | 4位1体 | 4.3位1体 | 展开 | 🈚 |
3.4位1体法 | 按权展开求和法 | 取余法 |
---|---|---|
2.8.16互转 | X→10 | 10→X |