进制转换原理
任意进制 N 转十进制:按位权展开 Σ(数字 × N^位序)
十进制转任意进制:反复除 N 取余数
本工具用 BigInt 处理,支持超大整数不丢精度
这个工具能做什么
- 在 2/8/10/16 及自定义进制间互转
- 处理超出普通数字精度的大整数
- 支持大小写十六进制字母
怎么使用(输入说明)
- 选择源/目标进制:如 16 → 2。
- 输入数值:按源进制规则填写(二进制只含 0/1)。
- 得到结果:实时显示目标进制表示。
为什么用 BigInt
JavaScript 普通数字有 2^53 精度上限,超过会失真;BigInt 可表示任意大整数,保证进制转换在密码学、哈希等场景下结果精确。
计算实例
例:十六进制 1F → 十进制 31 → 二进制 11111。
常见问题 FAQ
Q:为什么用 BigInt 而不是普通数字?
A:JavaScript 的普通数字(Number)是双精度浮点,超过 2^53 就会丢精度,很长的十六进制或二进制串会算错。本工具使用 BigInt 做任意精度整数运算,无论多长都能精确转换。
Q:十六进制里的字母大小写有区别吗?
A:没有。A 和 a 都表示十进制的 10,B 和 b 都表示 11,以此类推。本工具统一用小写字母输出,输入时大小写均可。
Q:支持的进制范围是多少?
A:支持 2 到 36 进制。超过 36 需要更多字符来表示数值,常规场景用不到,因此本工具未提供支持。