EN
首页 分类 进制转换

进制转换

2/8/10/16/36/64 进制实时互转

常见问题

能处理很大的数字吗?

能。用 BigInt 精确计算,不受双精度 2 的 53 次方限制,超出也不丢精度。

支持小数和负数吗?

支持,负号原样保留,小数部分按对应进制换算。

支持哪些进制?

支持 2、8、10、16、36、64 六种。输入任意一种,其余五种同时实时更新;其中 64 进制用的数字表是 0-9A-Za-z+/,与 RFC 4648 的 Base64 编码不是一回事。

关于这个工具

输入框接受 2、8、10、16、36、64 六种进制,选定输入所用的进制后,其余五种会同时给出结果 —— 不需要反复切换「从什么转到什么」,同一个数值只是用六种写法同时呈现。

36 与 64 进制不属于日常进制,但工程里用途明确:36 进制(0-9 加 A-Z)常用来把长数字压短,短链接、订单号、分享码多用它;64 进制(0-9、A-Z、a-z、+、/)码位更多、字符串更短。要注意这里的 64 进制是「把数字当数值换底」,和 RFC 4648 的 Base64 编码(按 6 位一组切字节流)不是同一件事,两者结果不能互相套用 —— 要编码文本请用 Base64 工具。

整数用 BigInt 精确计算,超过 253(9007199254740992)也不会像普通 JS 数字那样丢精度。处理雪花 ID、数据库自增主键这类 18–19 位数字时这一点是必需的:普通 Number 在第 16 位之后就开始失真,转出来的十六进制会悄悄变成另一串。

小数部分按 24 位有效数字换算后输出。有些十进制小数在二进制里是无限循环的(例如 0.1),任何进制转换都只能给出近似值 —— 这里不会把它截断成 0,但也不代表精确。输入框只接受当前进制的合法字符,粘贴带 0x 前缀或中间有空格的数字会被判为非法并标红,先把前缀去掉再粘。