计算机内部使用二进制(基数2)。程序员通常使用十六进制(基数16)工作。理解这些数制有助于了解计算机如何存储和显示数据。
三种数制
| 数制 | 基数 | 使用的数字 |
|---|---|---|
| 二进制 | 2 | 0, 1 |
| 十进制 | 10 | 0–9 |
| 十六进制 | 16 | 0–9, A–F |
十六进制中:A=10,B=11,C=12,D=13,E=14,F=15
二进制转十进制
每个二进制位代表2的幂次,从右侧开始计算。
示例: 将1101(二进制)转换为十进制
``` 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 8 + 4 + 0 + 1 = 13 ```
十进制转二进制
反复除以2,记录每次余数:
示例: 将25转换为二进制
``` 25 ÷ 2 = 12 余 1 12 ÷ 2 = 6 余 0 6 ÷ 2 = 3 余 0 3 ÷ 2 = 1 余 1 1 ÷ 2 = 0 余 1 ```
从下往上读余数:11001
验证:16 + 8 + 0 + 0 + 1 = 25 ✓
十六进制转十进制
每个十六进制位代表16的幂次:
示例: 将2F(十六进制)转换为十进制
``` 2×16¹ + F×16⁰ = 2×16 + 15×1 = 32 + 15 = 47 ```
二进制转十六进制(快速方法)
从右侧开始,将二进制数字每4位分为一组,逐组转换:
示例: 11010111(二进制)转十六进制
``` 1101 = 13 = D 0111 = 7 ```
结果:D7(十六进制)
为什么使用十六进制?
8位二进制(1字节)= 恰好2位十六进制。因此:
- 00000000 = 00(十六进制)= 0
- 11111111 = FF(十六进制)= 255
这使十六进制成为表示二进制数据的紧凑方式。网页颜色使用十六进制(如#FF5733 = 红色255、绿色87、蓝色51)。
常见数值
| 十进制 | 二进制 | 十六进制 |
|---|---|---|
| 0 | 0000 | 0 |
| 10 | 1010 | A |
| 15 | 1111 | F |
| 16 | 10000 | 10 |
| 255 | 11111111 | FF |
| 256 | 100000000 | 100 |
使用我们的数制转换器即时在二进制、十进制、十六进制和八进制之间进行转换。