1. 进制简介
- 二进制: 元素[0,1]。满二进一,以
ob开头。 - 八进制:元素[0,1,2,……,7]。满8进一,以
0开头 - 十进制:元素[0,1,……,9]。满10进一
- 十六进制:元素[0,……,9,A(10),B(11),C(12),D(13),E(14),F(15)]。以
0x开头,满16进一,字母不区分大小写。
2. 进制之间的转换
| 十进制 | 十六进制 | 八进制 | 二进制 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 2 | 2 | 10 |
| 3 | 3 | 3 | 11 |
| 4 | 4 | 4 | 100 |
| 5 | 5 | 5 | 101 |
| 6 | 6 | 6 | 110 |
| 7 | 7 | 7 | 111 |
| 8 | 8 | 8 | 1000 |
| 9 | 9 | 10 | 1001 |
| 10 | A | 11 | 1010 |
| 11 | B | 12 | 1011 |
| 12 | C | 13 | 1100 |
| 13 | D | 14 | 1101 |
| 14 | E | 15 | 1110 |
| 15 | F | 16 | 1111 |
| 16 | 10 | 17 | 10000 |
3.1 二进制转十进制
规则: 从最低位开始,每位乘2的位数-1 次方,求和。即从右向左依次乘1 2 4 8 16 32……。也称“8421”原则。
- 1011:
1*1 + 1*2 +0*4 + 1*8 =11
3.2 八进制转十进制
规则: 从最低位开始,每位乘8的位数-1 次方,求和。即从右向左依次乘1 8 64 ……。
- 0234:
4*1 + 3*8 + 2*64 + 0 = 156
3.3 十六进制转十进制
规则: 从最低位开始,每位乘16的位数-1 次方,求和。即从右向左依次乘1 16 256 4096 ……。
- 0x23A:
10*1 + 3*16 + 2*256 =570
3.4 十进制转二进制
规则:将该数不断的除2直到商为0。然后将每步的余数倒过来,得到的就是对应的二进制。
- 34:
0b00100010
3.5 十进制转八进制
规则:将该数不断的除8直到商为0。然后将每步的余数倒过来,得到的就是对应的八进制。
- 131:
0203
3.6十进制转十六进制
规则:将该数不断的除16直到商为0。然后将每步的余数倒过来,得到的就是对应的十六进制。
- 237:
0xED
3.7二进制转八进制
规则: 从最低位开始,三位一组,按照”421“原则转成对应的二进制即可。
- 0b11010101:
0b11(3)010(2)101(5)==>0325
3.8二进制转十六进制
规则: 从最低位开始,四位一组,按照”8421“原则并求和,转成对应的十六进制即可。
- 0b11010101:
1101(D)0101(5)==>0xD5
3.8 八进制二进制
规则: 将八进制数每位数转为对应的3位二进制数即可。
- 0237:
02(010)3(011)7(111)==>0b 1001 1111
3.9 十六进制转二进制
规则: 将十六进制数每位数转为对应的4位二进制数即可。
- 0x23B:
2(0010)3(0011)B(1011)==>0b 0010 0011 1011
\