Tool Detail

进制转换

二进制、八进制、十进制、十六进制互转,支持任意大小整数。

作者:VillaB · 更新:2026-06-20

输入数值后自动显示各进制转换结果,支持任意大小的整数。

使用说明

这个工具能做什么

在二进制、八进制、十进制、十六进制之间互转,并且支持任意大小的整数——不像很多在线工具那样超过 2^53 就精度丢失。基于 BigInt 实现,几百位的大数也能准确换算。

怎么用

  1. 选择输入数字的进制(2 / 8 / 10 / 16)
  2. 在输入框填数值,结果会同时显示四种进制
  3. 支持 0x、0b、0o 前缀自动识别,也允许空格、下划线、逗号分隔(方便粘贴 1111 0000 这类分组写法)
  4. 点「复制结果」一次拿到全部换算,或「分享」把输入和进制一起发出去

常见问题

为什么输出不是从 0 开始的?

输出是数值本身的四种进制写法,不是补码。比如十进制 -5 会输出 -101,而不是 32 位二进制补码 11111111...11111011。如果要做位运算或看补码,需要按固定位宽另行处理。

支持小数吗?

不支持。本工具只处理整数。小数(如 0.5)在不同进制下的表示涉及浮点规则和截断方式,容易产生歧义,因此不做。

超过 2^53 的数会不会算错?

不会。普通 JavaScript 的 Number 类型在超过 2^53 后会丢精度,这是很多在线工具出错的原因。本工具用 BigInt 做运算,任意长度的整数都精确。

十六进制输入要写 0x 吗?

不写也行。选「十六进制 (16)」直接输入 ff 即可;写了 0x 也会自动识别并忽略。字母大小写都接受。

为什么二进制结果里有空格?

二进制位数多时不容易数,所以每 4 位加一个空格分组,方便对照十六进制(4 位二进制正好等于 1 位十六进制)。这只影响显示,数值本身不变。

换算过程会上传吗?

不会,全部用本地 BigInt 计算。

返回工具中心