🔢 转一下

字母不区分大小写,空格、下划线、逗号会自动忽略;支持 0x FF、0b 1010、0o 17 前缀,也支持负数。

🔢

选好进制、填上数值,结果会同时列出二、八、十、十六进制。

📊 0 ~ 15 进制对照表

背下这张表,进制换算基本不用算了。当前十进制结果落在 0~15 时会高亮该行。

🧾 各进制都在哪儿用

同样是「一串数字」,不同场景写的进制各不相同,看到前缀就不会搞混。

进制常用前缀 / 写法典型场景举个小例子
2 进制0b / 0B位运算、权限掩码、子网掩码、寄存器0b1010 = 十进制 10
8 进制0o / 0O / 前导 0Linux 文件权限 chmod 755、老式 Unix0o755 = 十进制 493
10 进制无日常生活、金额、统计口径2026 = 十进制 2026
16 进制0x / 0X / #颜色值、内存地址、MAC 地址、字节流0xFF = 十进制 255
36 进制无短链接 ID、压缩自体量 ID、URL 里的大数值zz = 十进制 1295
64 进制Base64 字符集Base64 编码、短 ID、游标分页 token不属于本工具的 2~36 范围

⚠️ 免责声明:本工具按标准进位规则做整数进制换算,仅供参考。
它只处理整数:小数部分会被直接忽略,浮点数的进制换算(比如 0.1 转二进制)属于另一套算法,请勿用本工具结果当作精确值。
超大整数已通过 BigInt / 手写大数算法保证精度,但结果太长时页面上会做截断显示,复制出来的才是完整值。
做存储单位换算(KiB / MiB,1024 与 1000 之争)请用专门的单位换算工具,别混着用。

🔢

进制转换

开发工具 完全免费 🌙 支持黑夜模式 🔒 纯前端本地计算 🧮 2 ~ 36 任意进制 📋 结果可复制

所谓进制,就是「逢几进一」。
十进制逢十进一、二进制逢二进一、十六进制逢十六进一。同一份数量,用不同进制写出来长度完全不同:
255 = 0xFF = 0b11111111 = 0o377,值一模一样,只是写法不同。
这个工具支持任意 2~36 进制互转——超过 10 之后用字母接着数,A=10、B=11 … Z=35,这就是 36 进制能表示的上限。
上手只要三步:
① 选源进制(输入的数是几进制);
② 选目标进制(想转成几进制);
③ 填上数值,点转换。
结果会同时列出二进制、八进制、十进制、十六进制四个值,省得来回切。
几个很实用的细节:
· 自动识别前缀:写了 0xFF 会自动按十六进制处理,0b1010 按二进制,0o17 按八进制,不怕选错;
· 超大整数不丢精度:普通数字超过 2 的 53 次方就开始出错,本工具会切到 BigInt(没有 BigInt 的浏览器则用手写大数算法),多少位都算得准;
· 支持负数:负号只作用于整体数值,不是「补码」,如果想看有符号位的二进制表示,需要自己按位宽换算;
· 忽略分隔符:二进制写 1111 1111 这种带空格的写法也能读。
常见的使用场景:算权限掩码(chmod 755 到底是哪几位)、看颜色值(#4F7CFF 拆成 RGB)、对位标志位(权限位 1/2/4/8 加起来是几)、调试协议里的字节、以及把长数字压成短 ID(36 进制最省字符)。
最后提醒一句:本工具只做整数,小数请勿直接依赖结果。

类别开发工具
支持范围2 ~ 36 进制(整数)
大数方案BigInt / 手写大数除法
运行方式纯前端 · 离线可用

核心特性

任意进制互转
0x/0b/0o 前缀
超大整数精度
四进制同屏
负数支持
非法字符定位
0~15 对照表
结果可复制

关于这个工具

换算怎么做的:
① 清洗输入:去掉空格、下划线、逗号,统一转小写,取出负号;
② 识别前缀:0x → 16 进制、0b → 2 进制、0o → 8 进制,并优先于下拉框的选择;
③ 合法性校验:逐位检查字符是否落在该进制范围内,出错会告诉你第几位、哪个字符不对;
④ 转换:数值在安全整数范围内直接 parseInt + toString(最快);超出则先用 BigInt,环境不支持时退化为手写的大数逐位除法——把各位数字当成数组反复做「除基取余」,任意长度都精确;
⑤ 顺手给出二 / 八 / 十 / 十六进制四个结果与位数、二进制长度。
它不做:不处理小数与浮点、不做 Base64(那是 64 进制且字符集不同)、不做有符号补码展开。

怎么用

  1. 第 1 步
    选好源进制与目标进制(下拉里没有就选「自定义…」,可填 2~36 任意值)。
  2. 第 2 步
    填入数值,带 0x / 0b / 0o 前缀也可以。
  3. 第 3 步
    点「🔄 转换」,顶部大字就是结果,下面同时列出另外三种进制。
  4. 第 4 步
    想反着转,点「🔀 交换源 / 目标进制」即可,数值保持不变。
  5. 第 5 步
    点「📋 复制结果」把四种进制一次性带走。

更新记录

  • v1.0 2026-09-20 工具正式上线:支持任意 2~36 进制互转,自动识别 0x / 0b / 0o 前缀,超大整数走 BigInt(不支持时退化为手写大数逐位除法)保证零精度损失,同时输出二 / 八 / 十 / 十六进制结果与位数、二进制长度;提供非法字符定位的友好报错、负数处理、源/目标进制一键交换,附 0~15 四进制对照表(命中行高亮)与各进制使用场景表。适配黑夜模式,纯前端本地计算。

常见问题

提示「第 N 位的字符不合法」是什么意思?
意思是这个字符在当前进制里根本不存在。
每种进制能用的字符是固定的:
· 2 进制只有 0、1;
· 8 进制是 0~7;
· 10 进制是 0~9;
· 16 进制是 0~9 和 A~F;
· 36 进制可以用到 0~9 和 A~Z。
比如你在 2 进制里写了 1201,那个 2 就是非法的(工具会告诉你它在第几位)。
另外注意:0 开头的纯数字在老式写法里代表八进制,如果你写 0777 却被当成十进制,结果自然是 777 而不是 511,需要请显式选 8 进制。
很大的数字(比如 30 位)还算得准吗?
准。
JavaScript 的普通数字超过 2^53 − 1(9007199254740991)之后就开始丢精度,直接用 parseInt + toString 会静默算错。
本工具先判断数值是否落在安全范围内:
· 安全范围内 → 直接 Number 转换(快);
· 超出 → 切到 BigInt 精确计算;
· 浏览器连 BigInt 都没有 → 退化为手写的大数逐位除法(数组反复除基取余),同样精确。
唯一的限制是显示:结果特别长时页面会截断显示成 …,但「📋 复制结果」拿到的一定是完整值。
负数是怎么处理的?
按「负号 + 数值」处理,也就是数学上的符号 + 绝对值。
· -FF(16 进制)= 十进制 -255;
· 转回来是 -FF,负号原样保留,不会自动变成补码。
如果你想看有符号的二进制补码(比如 8 位下 −1 应该显示为 11111111),需要自己按位宽处理:
公式为 2^n + 数值,例如 8 位下 −1 = 256 − 1 = 255 = 0b11111111。
本工具不做这一步,是因为位宽不同结果就不同(8 位、16 位、32 位各不相同),自动猜反而容易误导。
能转小数吗?比如 0.1 的二进制。
不能,本工具只做整数。
小数的进制换算是「乘基取整」的另一套算法,而且很多十进制小数转二进制时是无限循环的:
· 0.1 的二进制 ≈ 0.0001100110011…(0011 无限循环);
· 这正是编程里 0.1 + 0.2 !== 0.3 的根源。
如果你要处理浮点精度,建议直接看 IEEE 754 的表示,而不是做简单进制换算。
36 进制有什么实际用处?
最大的用处是把大数字写短。
字符集是 0~9 + A~Z 共 36 个符号,每一位能表达的信息量比十进制大得多:
· 十进制 1295,36 进制只要 ZZ 两位;
· 数据库自增 ID 1000000,36 进制是 LFL 三位。
所以它在这些地方很常见:短链接、邀请码、URL 里的压缩 ID、分片游标。
提示:做邀请码时要注意剔除容易混淆的字符(0/O、1/I/L),本工具为了严格遵循进制规则保留了全部字符。
数据会上传吗?
不会。转换完全在浏览器本地完成,不上传、不保存,刷新即清空。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码