跳到主要内容

进制转换

2/8/10/16 等进制互转

原进制
目标进制
转换结果(16 进制)
请输入该进制下的有效数值

支持 2 到 36 进制,使用 BigInt 任意精度,超长数字也不会丢精度。所有计算均在本地完成。

进制转换原理

任意进制 N 转十进制:按位权展开 Σ(数字 × N^位序)

十进制转任意进制:反复除 N 取余数

本工具用 BigInt 处理,支持超大整数不丢精度

这个工具能做什么

  • 在 2/8/10/16 及自定义进制间互转
  • 处理超出普通数字精度的大整数
  • 支持大小写十六进制字母

怎么使用(输入说明)

  1. 选择源/目标进制:如 16 → 2。
  2. 输入数值:按源进制规则填写(二进制只含 0/1)。
  3. 得到结果:实时显示目标进制表示。

为什么用 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 需要更多字符来表示数值,常规场景用不到,因此本工具未提供支持。

常见问题

为什么用 BigInt 而不是普通数字?
JavaScript 的普通数字(Number)是双精度浮点,超过 2^53 就会丢精度,很长的十六进制或二进制串会算错。本工具使用 BigInt 做任意精度整数运算,无论多长都能精确转换。
十六进制里的字母大小写有区别吗?
没有。A 和 a 都表示十进制的 10,B 和 b 都表示 11,以此类推。本工具统一用小写字母输出,输入时大小写均可。
支持的进制范围是多少?
支持 2 到 36 进制。超过 36 需要更多字符来表示数值,常规场景用不到,因此本工具未提供支持。