字母不区分大小写,空格、下划线、逗号会自动忽略;支持 0x FF、0b 1010、0o 17 前缀,也支持负数。
选好进制、填上数值,结果会同时列出二、八、十、十六进制。
背下这张表,进制换算基本不用算了。当前十进制结果落在 0~15 时会高亮该行。
同样是「一串数字」,不同场景写的进制各不相同,看到前缀就不会搞混。
| 进制 | 常用前缀 / 写法 | 典型场景 | 举个小例子 |
|---|---|---|---|
| 2 进制 | 0b / 0B | 位运算、权限掩码、子网掩码、寄存器 | 0b1010 = 十进制 10 |
| 8 进制 | 0o / 0O / 前导 0 | Linux 文件权限 chmod 755、老式 Unix | 0o755 = 十进制 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 之争)请用专门的单位换算工具,别混着用。
所谓进制,就是「逢几进一」。
十进制逢十进一、二进制逢二进一、十六进制逢十六进一。同一份数量,用不同进制写出来长度完全不同:
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 进制最省字符)。
最后提醒一句:本工具只做整数,小数请勿直接依赖结果。
换算怎么做的:
① 清洗输入:去掉空格、下划线、逗号,统一转小写,取出负号;
② 识别前缀:0x → 16 进制、0b → 2 进制、0o → 8 进制,并优先于下拉框的选择;
③ 合法性校验:逐位检查字符是否落在该进制范围内,出错会告诉你第几位、哪个字符不对;
④ 转换:数值在安全整数范围内直接 parseInt + toString(最快);超出则先用 BigInt,环境不支持时退化为手写的大数逐位除法——把各位数字当成数组反复做「除基取余」,任意长度都精确;
⑤ 顺手给出二 / 八 / 十 / 十六进制四个结果与位数、二进制长度。
它不做:不处理小数与浮点、不做 Base64(那是 64 进制且字符集不同)、不做有符号补码展开。
审核通过后就会展示在留言板上,稍安勿躁~
还没有留言,来抢沙发吧!