进制转换
各种进制互转。
这个工具能做什么
进制转换把同一个整数在二进制、八进制、十进制、十六进制四种写法之间来回换算。你输入一个数值、告诉它当前是几进制,工具会一次性给出其余三种进制的结果,省去手算除基取余或查表的麻烦。写底层代码、调寄存器、对着 CSS 颜色值或内存地址排查问题时,经常需要在十进制和十六进制之间快速切换,这类进制在线转换正是为这种高频小操作准备的。相比打开系统计算器逐个模式切换,四种进制并排列出,核对起来更直观。
进制的本质是按权展开:十六进制的 1A 表示 1×16 + 10 = 26,二进制的 11010 是各位乘以 2 的幂再求和。转换时工具先把源进制的字符按位还原成一个整数值,再对目标进制不断做除基取余,把余数倒序排列就得到新的写法。二进制、八进制、十六进制之间还有更直接的对应关系:4 个二进制位正好对应 1 个十六进制位,3 个二进制位对应 1 个八进制位,所以这几种进制互转本质上只是对二进制位重新分组,这也是十六进制常被当作二进制紧凑写法的原因。
最常见的用法是看颜色和读字节。CSS 里的 #FF8800 拆成三段十六进制,转成十进制就是 RGB(255, 136, 0),改配色时用它核对数值很方便。调试嵌入式或协议报文时,抓到一串十六进制字节想确认某个标志位是否置位,把 0x2A 转成二进制 00101010 就能逐位读出来。做二进制十进制转换来核对位运算掩码、或把权限位 0755 这类八进制数展开成二进制,也都是一步到位。
需要注意的是进制转换只改变数字的书写形式、不改变数值本身,1A、0x1A、26、11010 指的是同一个数。十六进制转换里的字母 A–F 不区分大小写,但要和字符编码区分开:这里换算的是数值,不是把文本转成 Base64 或按 UTF-8 取字节,那属于编码转换而非进制。另外要留意负数和小数:负数在计算机里通常用补码表示,按无符号数换算和按补码换算结果不同;带小数点的数各进制小数部分往往无法精确对应。前缀 0x、0b、0o 只是标明进制的记号,真正参与换算的是后面的数字本身。
进制转换是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“进制转换”、“二进制转换”、“十六进制转换”,说的都是这个。
常见使用场景
- 把 CSS 颜色 #FF8800 转成 RGB 十进制核对配色
- 将协议报文里的十六进制字节转成二进制读标志位
- 核对位运算掩码时做二进制十进制转换
- 把 Linux 权限 0755 从八进制展开成二进制
- 调试时把寄存器十六进制值换成十进制对照
使用方法
- 把内容粘贴到输入框(生成类工具直接设置选项)。
- 按需要选择选项,点操作按钮。
- 结果出现在下方,点「复制结果」即可带走。