编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 其他工具 / 进制转换

进制转换

各种进制互转。

输入
结果

这个工具能做什么

进制转换把同一个整数在二进制、八进制、十进制、十六进制四种写法之间来回换算。你输入一个数值、告诉它当前是几进制,工具会一次性给出其余三种进制的结果,省去手算除基取余或查表的麻烦。写底层代码、调寄存器、对着 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 只是标明进制的记号,真正参与换算的是后面的数字本身。

进制转换是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“进制转换”、“二进制转换”、“十六进制转换”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

支持哪些进制之间的转换?
支持二进制、八进制、十进制、十六进制四种常用进制的两两互转。输入时选定数值当前所在的进制,就能一次得到其余三种进制的写法。
十六进制转换区分字母大小写吗?
不区分,A–F 与 a–f 等价,例如 ff 和 FF 都表示十进制的 255。输入时大小写混用也能正确识别。
进制转换和 Base64 编码是一回事吗?
不是。进制转换换算的是同一个数值的不同书写形式,Base64 是把二进制字节按 6 位一组映射成可打印字符的编码方式,两者的输入和用途都不同。
为什么同一个数在不同进制下位数差别那么大?
因为每一位能表示的信息量不同:十六进制一位相当于四个二进制位,所以十进制的 255 写成十六进制只有两位 FF,写成二进制却是八位 11111111,值完全一样。
输入的数据会上传吗?安全吗?
不会。换算在浏览器里用 JavaScript 完成,本地处理不上传服务器,用来处理内部地址、掩码等敏感数值也放心。

相关工具

查看全部「其他工具」工具 →

相关名词解释