进制转换
知识总结
常见进制
| 进制 | 基数 | 数字范围 | 前缀 |
|---|---|---|---|
| 二进制 | 2 | 0-1 | 0b |
| 八进制 | 8 | 0-7 | 0 |
| 十进制 | 10 | 0-9 | 无 |
| 十六进制 | 16 | 0-9, A-F | 0x |
任意进制转十进制
按权展开法:每一位的值 × 该位的权重(基数的幂次),然后求和。
例:(1011)₂ = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11
例:(2A)₁₆ = 2×16¹ + 10×16⁰ = 32 + 10 = 42
十进制转任意进制
短除法(除基取余法):不断除以基数,余数从下往上排列。
例:将 42 转为二进制
142 ÷ 2 = 21 ... 0
221 ÷ 2 = 10 ... 1
310 ÷ 2 = 5 ... 0
4 5 ÷ 2 = 2 ... 1
5 2 ÷ 2 = 1 ... 0
6 1 ÷ 2 = 0 ... 1结果:(101010)₂
二进制 ↔ 八进制 / 十六进制
- 二→八:每3位二进制 = 1位八进制
- 二→十六:每4位二进制 = 1位十六进制
常考计算
- 二进制加减法(逢二进一)
- 不同进制之间的快速转换
- 给定数的各进制表示