← 返回工具箱

DEVELOPER / INTEGER BASE

任意 2–36 进制转换器

精确转换二进制、八进制、十进制、十六进制和任意 2–36 进制整数。使用 BigInt,不把超大整数先塞进会丢精度的 Number。

只处理整数:支持正负号、空格和下划线分组;不处理小数点、循环小数或科学计数法。自动模式只识别标准的 0b0o0x 前缀,其余按十进制解释。

输入进制

已按 Base 16 解析,值保持 BigInt 精度。

输出设置

试一组已知输入

符号

正数

十进制位数

3

二进制位数

8

最少字节

1

BASE 2

二进制

11111111

BASE 8

八进制

377

BASE 10

十进制

255

BASE 16

十六进制

FF

BASE 36

36 进制

73

前缀只负责说明进制

0b0o0x 分别代表 2、8、16 进制。手动选择的进制与前缀冲突时,本页会报错而不是猜测。

36 进制不区分大小写

数字 0–9 表示 0–9,字母 A–Z 表示 10–35。页面解析时不区分大小写,输出可以统一成大写或小写。

BigInt 不等于 JSON Number

转换结果可以精确到任意大整数,但常见 JSON Number、数据库字段和其他语言仍有范围限制。跨系统传输时应核对类型,必要时用字符串。

RELATED TOOLS

查看全部工具 →

USE & REVIEW

进制转换器常见问题

查看全部工具指南 →

自动识别输入进制时按什么规则判断?

带 0b、0o、0x 前缀时分别按二进制、八进制和十六进制解析,其余输入一律按十进制,不会根据是否出现 A-F 猜测。像 FF 这样的值应手动选择 16 进制;这样可以避免同一串纯数字在多个进制中都合法时被错误猜中。

为什么手动选十进制后,0x10 会报前缀冲突?

0x 明确声明后面的数字是十六进制,而手动选择十进制又给出了相反要求。工具不会静默忽略其中一个设置,而是要求你删除前缀或把输入进制改为 16。明确报错比“看起来转换成功但采用了错误口径”更安全。

超出 JavaScript 安全整数范围还能精确转换吗?

可以。页面直接逐位解析为 BigInt,不会先经过 Number,所以大于 9007199254740991 的整数仍能精确转换。不过 JSON Number、数据库字段和其他语言可能有自己的范围限制,跨系统传输时通常应把超大整数保存为字符串。

可以转换二进制或十六进制小数吗?

当前工具只处理整数,不接受小数点、指数写法或循环小数。不同进制的小数转换还涉及有限精度、舍入和无限循环,若用 BigInt 界面假装支持会产生错误预期。需要小数时应先确定目标精度和舍入规则,再使用专门的高精度小数工具。

36 进制里的字母分别代表什么?

0–9 仍表示 0–9,A–Z 依次表示 10–35。解析时不区分大小写,因此 z 和 Z 都代表 35;大小写开关只改变结果显示。超过 36 进制通常需要另行约定更多字符,不能继续套用这个通用字母表。

空格、下划线、前缀和大小写会改变数值吗?

空格与下划线只作为可读分组,标准 0b、0o、0x 只说明进制,字母大小写在 2–36 进制中等价,因此这些格式不会改变数值。其他标点不会被自动删除,非法字符会直接报错。转换、复制和 TXT 报告都在当前浏览器完成。