进制转换

在二进制、八进制、十进制、十六进制与任意 2–36 进制之间精确转换,整数不限长度,支持小数。

整数不限长度(不受 2^53 限制),小数精确换算

输入任意进制的数值,二/八/十/十六进制结果会同时算出来。

本工具在你的浏览器内运行,输入的内容与文件不会上传到任何服务器。

常见问题

输入很长的十六进制会不会算错?
不会。这恰恰是很多在线工具的坑:JavaScript 的原生数字类型只能精确表示 2 的 53 次方(约 9×10¹⁵)以内的整数,用 parseInt 实现的工具一旦超过这个范围就会悄悄丢精度,算出来的末尾几位是错的 —— 而 64 位十六进制(常见于哈希值、数据库 ID)恰好都在这个范围之外。本工具全程用 BigInt 计算,整数位数不受限制,结果是精确值。
小数为什么会出现一长串数字?
因为一个在十进制下很整齐的小数,换到别的进制可能变成无限循环小数。最典型的是十进制的 0.1,转成二进制是 0.0001100110011…(0011 一直循环),任何工具都写不完。本工具会精确计算到除尽为止;除不尽时截断到 32 位,并在结果下方明确标注,不会假装那个值是精确的。
0x、0b 这些前缀要自己去掉吗?
不用。选「自动识别」时会按前缀判断进制;就算上面选了具体进制,前缀也会被自动剥掉,不会当成多余字符。数字里的空格、下划线、逗号也会一并忽略,所以可以直接粘贴程序里带分隔符的写法(例如 0xDEAD_BEEF)。

相关工具