进制转换计算器是什么?
这个工具可以把一个数字从一种位置计数制转换成另一种——在二进制(基数 2)、八进制(基数 8)、十进制(基数 10)和十六进制(基数 16)之间互相转换。它在计算机科学、数字电路和编程中应用广泛,因为同一个数值在不同场景下往往有不同的表示方式。
如何使用
先输入你要转换的数字,在「原始进制」中选择它当前所采用的进制,再在「目标进制」中选择你想要的进制。计算器会显示转换后的结果,同时还会列出它对应的十进制(基数 10)数值,方便你核对转换是否正确。
计算公式详解
任何一个数字都等于每一位数字乘以基数的「位置次幂」之后再求和:
$$\text{Result}_{(\text{To base})} = \left( \sum_{i=0}^{k-1} d_i \cdot \text{From base}^{\,i} \right)_{(\text{To base})}$$位置从右往左从 0 开始计数。反过来转换时,计算器会用十进制数值反复除以目标进制并记录每次的余数,把这些余数从最后一个倒着读回第一个,就得到了新进制下的各位数字。
实例演示
把二进制 1010 转成十进制:
$$1 \cdot 2^3 + 0 \cdot 2^2 + 1 \cdot 2^1 + 0 \cdot 2^0 = 8 + 0 + 2 + 0 = 10$$再把十进制 255 转成十六进制:\(255 \div 16 = 15\) 余 \(15\)(F),\(15 \div 16 = 0\) 余 \(15\)(F),所以结果是 FF。
各进制的通用值
下表显示了相同的数值在四种常见的进位制中的表示:二进制(二进制)、八进制(八进制)、十进制(十进制)和十六进制(十六进制)。小的连续值(0–16)对于学习各进制如何计数很有用,而2的幂和字节边界(32、64、128、255、256)在计算中经常出现,因为内存和寄存器都是围绕位组织的。
| 十进制(十进制) | 二进制(二进制) | 八进制(八进制) | 十六进制(十六进制) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 32 | 100000 | 40 | 20 |
| 64 | 1000000 | 100 | 40 |
| 128 | 10000000 | 200 | 80 |
| 255 | 11111111 | 377 | FF |
| 256 | 100000000 | 400 | 100 |
注意,一个十六进制数字恰好对应四个二进制数字(一个半字节),所以 255 可以用两个十六进制数字 (FF) 表示,也就是一个字节的大小,共八个二进制数字。
数制中的关键术语
- 基数(进制)
- 进位制所使用的不同数字符号的个数,也是每个相邻位置被乘以的值。十进制使用十个符号(0–9);二进制使用两个(0–1)。术语基数和进制可以互换使用。
- 二进制(二进制)
- 仅使用数字 0 和 1 的数制。每一位都代表 2 的幂。二进制是数字电子学的原生语言,因为电路可以轻松表示两种状态(关/开)。
- 八进制(八进制)
- 使用数字 0–7 的数制,其中每一位都是 8 的幂。一个八进制数字恰好对应三个二进制数字,这在历史上使其成为二进制的紧凑简写形式。
- 十进制(十进制)
- 日常使用的数制,使用数字 0–9,每一位都是 10 的幂。这是人类算术的默认基数。
- 十六进制(十六进制)
- 使用数字 0–9 和字母 A–F(代表 10–15)的数制,每一位都是 16 的幂。一个十六进制数字恰好等于四个二进制数字,使十六进制成为编写字节值的紧凑方式。
- 数字
- 数字内的单一符号。允许的数字取决于进制——例如,十六进制允许数字符号 0–9 和 A–F。
- 位置记数法
- 一种数字的值取决于其位置的系统。数字的值是每个数字乘以基数的该位次幂的总和,例如 \(101_2 = 1\cdot2^2 + 0\cdot2^1 + 1\cdot2^0 = 5\)。
- 最高有效数字 (MSD)
- 数字的最左边的数字——位于最高值位置的那个,对总值贡献最大。
- 最低有效数字 (LSD)
- 数字的最右边的数字——位于最低值位置(个位)的那个,对总值贡献最小。
- 半字节
- 四个二进制数字(比特)的组合。半字节可以保存值 0–15,恰好对应一个十六进制数字。
- 字节
- 八个比特(两个半字节)的组合,能够表示 256 个不同的值(0–255,或用十六进制表示为 00–FF)。字节是数字存储的标准单位。
常见问题
十六进制里的字母能识别吗? 可以——十六进制用 A–F 表示 10–15,输入时不区分大小写。
能转换负数吗? 可以,在数值前加上负号即可,符号会被保留下来。
如果我输入的内容不合法怎么办? 如果某一位数字在所选的原始进制中不允许出现(例如在二进制里输入「9」),结果会显示「输入无效」。