它如何工作
解析时逐字符查表得到该位的数值,累加 result = result × 进制 + 位值。全程使用 BigInt,因此 64 位甚至几百位的整数都能精确转换——用普通 JavaScript 数字,超过 2⁵³−1 就会静默丢精度,这是解析 ID、哈希、时间戳时最隐蔽的 bug 来源。
输出时反复取余与整除,再把余数映射回字符。负数会保留符号,小数与科学计数法不支持(进制转换本身只对整数有明确定义)。
常用参考值
| 含义 | 十进制 | 十六进制 | 二进制 |
|---|---|---|---|
| 1 字节最大值 | 255 | FF | 11111111 |
| 2 字节最大值 | 65535 | FFFF | 1111111111111111 |
| 4 字节最大值 | 4294967295 | FFFFFFFF | 32 个 1 |
| 2⁵³ − 1(JS 安全整数上限) | 9007199254740991 | 1FFFFFFFFFFFFF | 53 个 1 |
| 2⁶⁴ − 1 | 18446744073709551615 | FFFFFFFFFFFFFFFF | 64 个 1 |
用二进制/十六进制表示网络掩码、权限位、颜色通道、哈希前缀时,本工具会同时给出分组形式,便于肉眼核对位数。
常见问题
为什么输入超过 16 位数字时结果不对?
这是 JavaScript 数字精度的限制(安全整数上限约 9×10¹⁵)。本工具用 BigInt 规避了这个问题,但请确保输入时不要包含小数点或指数记号,否则工具会拒绝并提示。
支持负数吗?
支持,会保留负号。但进制转换中的「补码」是另一种语义——如果你需要的是 32 位补码表示,请先用本工具算出无符号值,再自行按位数取反加一。
结果如何复制?
点击结果表格里的任意一行即可复制该行的值,适合直接粘进代码或配置里。