功能简介
进制转换器把一个整数同时显示成所有常用进制:二进制、八进制、十进制、十六进制和三十六进制。用任意一种进制输入数字,其余进制都会实时更新,每一行都有自己的复制按钮。
程序员经常需要进制转换:读十六进制的颜色值或内存地址,用二进制检查位标志和掩码,用八进制设置 Unix 文件权限(755),或者用三十六进制缩短 ID。
使用方法
- 在输入框里输入或粘贴数字,也可以点「示例」。
- 「输入进制」保持自动时,会识别
0x、0o、0b前缀,不带前缀的数字按十进制处理。如果想直接输入ff这样不带前缀的十六进制数,请手动选择进制。 - 打开「数字分组」,长结果会分成易读的小组:二进制和十六进制每 4 位一组,十进制和八进制每 3 位一组。
- 用每行的复制按钮复制结果。「位数」一行表示这个值需要多少个二进制位,方便选择合适的整数类型。
示例
CSS 里的一种橙色 0xFF5733 换算结果如下:
| 进制 | 值 |
|---|---|
| 十进制 | 16734003 |
| 二进制 | 111111110101011100110011 |
| 八进制 | 77653463 |
| 三十六进制 | 9yo1f |
它需要 24 位,红、绿、蓝各占一个字节。
进制转换的原理
在 b 进制里,每一位的权重是它右边一位的 b 倍。十六进制的 ff 等于 15 × 16 + 15 = 255。转换到另一种进制时,反复除以新的基数,再把余数倒过来读。因为 16 = 2⁴、8 = 2³,每个十六进制位正好对应 4 个二进制位,每个八进制位对应 3 个二进制位,所以十六进制常被用来简洁地书写二进制。
常见问题
› 能转换多大的数字?
基本没有上限。转换器使用任意精度整数(BigInt),64 位、128 位甚至更长的值都能精确转换,不会像普通计算器那样在超过 2^53 后丢失精度。
› 怎么输入十六进制或二进制数?
「输入进制」选自动时,十六进制加 0x 前缀,二进制加 0b,八进制加 0o,例如 0xff 或 0b1010。也可以在菜单里选好进制,直接输入不带前缀的数字。
› 负数怎么显示?
显示为负号加绝对值,比如 -255 的十六进制是 -ff。工具不会转换成固定位宽的补码形式。
› 可以粘贴带分隔符的数字吗?
可以。空格、下划线和逗号都会被忽略,1_000_000 和 1,000,000 都能识别。打开「数字分组」可以让结果重新按组显示。