在线进制转换工具,二进制、十进制、十六进制输入即换算
在任意一栏输入数字,其余进制结果实时同步生成。基于大数逐位运算,转换超过 15 位的二进制串也不会丢失精度,程序员、学生与电子爱好者都能直接上手。
进制互转换算器
支持 2 / 8 / 10 / 16 进制互转;输入框会自动忽略 0x、0b、0o 前缀以及空格、下划线,直接粘贴代码里的写法也没问题。
指定进制互转
点一下标签即可切换源进制与目标进制,输入数值立即换算;⇄ 按钮可一键对调方向。
常用进制对照速查表(0 - 20)
把这张表记熟,看一眼十进制数就能报出二进制和十六进制写法,调试代码、看内存地址都会快很多。
| 十进制 | 二进制 | 八进制 | 十六进制 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 17 | 10001 | 21 | 11 |
| 18 | 10010 | 22 | 12 |
| 19 | 10011 | 23 | 13 |
| 20 | 10100 | 24 | 14 |
什么是进制?一句话讲透「满几进一」
进位计数制的本质
进制也叫进位计数制,说的是用多少个不同符号来表示数,以及什么时候向高位进位。我们从小使用的十进制「满十进一」,只用了 0 到 9 这十个符号;而计算机内部通行的二进制「满二进一」,只用 0 和 1 两个符号。符号越少,写同一个数需要的位数就越多,但电路实现却越简单——这正是计算机选择二进制的根本原因。
任何一个进制数都可以按「位权展开」换算成十进制。所谓位权,就是每一位所代表的实际大小,等于基数(进制的几)的若干次方。以二进制的 1101 为例,从右往左各位的位权依次是 2 的 0、1、2、3 次方,于是 1101 = 1×8 + 1×4 + 0×2 + 1×1 = 十进制的 13。反过来,把十进制数不断除以基数、记录余数,再把余数倒着读出来,就得到了目标进制的写法。这两种方法互为逆运算,构成了所有进制换算的骨架。
除了最常见的二、八、十、十六进制,工程领域还会碰到三十二进制、六十四进制(如 Base64 编码)甚至任意进制。本站的转换器按字符串逐位计算,理论上支持到三十六进制以内任意基数的互转,超长数字也不会像普通计算器那样溢出。
手工换算怎么做?两套口诀走天下
方法一:除基取余,余数倒排(十进制 → 其他进制)
把十进制数不断除以目标进制的基数,每一步记下余数,直到商为 0,然后把余数从下往上抄出来。以 45 转二进制为例:
45 ÷ 2 = 22 …… 余 1
22 ÷ 2 = 11 …… 余 0
11 ÷ 2 = 5 …… 余 1
5 ÷ 2 = 2 …… 余 1
2 ÷ 2 = 1 …… 余 0
1 ÷ 2 = 0 …… 余 1
倒着读余数 → 101101,即 45 的二进制是 101101
方法二:乘基取整 / 位权展开(其他进制 → 十进制)
把每一位数字乘上对应的位权再求和。十六进制的 2F 换成十进制:F 代表 15,2F = 2×16 + 15 = 47。小数部分则用「乘基取整」:不断乘以基数、取整数部分,例如 0.625 转二进制:0.625×2=1.2 取 1,0.25×2=0.5 取 0,0.5×2=1.0 取 1,得到 0.101。
方法三:二、八、十六进制之间的「分组捷径」
因为 8 = 2³、16 = 2⁴,二进制与八进制、十六进制之间不需要绕道十进制:二转八每 3 位一组,二转十六每 4 位一组,从右往左分组、高位不足补零,再把每组直接查表替换即可。例如二进制 1101011 按 4 位分组是 0110 / 1011,查表得 6 和 B,即十六进制 6B——这个技巧在阅读十六进制内存地址时特别省时间。需要更系统的讲解可以阅读我们的进制转换百科。
哪些场景离不开进制转换
编程与调试
看内存地址、读反汇编、设位标志位时满屏都是 0x 开头的十六进制;写底层驱动时又要直接面对二进制寄存器位。转换器能帮你把看不懂的数立刻翻译成熟悉的十进制。
考试与课程作业
计算机组成原理、数字电路、C 语言等课程的必考题型。用工具验算「除基取余」的手工答案,比翻课本对答案更快,也更容易发现步骤里抄错的余数。
网络、色彩与硬件
IPv4 地址本质是 32 位二进制,子网掩码计算依赖二进制;网页色值 #FF5500 是十六进制;硬件手册里的寄存器配置表几乎全是二进制位描述——都离不开随时换算。
按进制进入专属转换页
每个进制都有独立页面,预置好常用转换方向,并配有该进制的详细说明、换算示例与专属速查表。
二进制转换器
二进制与十进制、八进制、十六进制互转,附 0-15 速查表与「4 位一组」读数技巧,适合看寄存器和位运算场景。
进入二进制转换 → OCT · 8八进制转换器
八进制与二进制、十进制互转,讲清 Linux 文件权限 755、777 的由来,附完整八进制对照表。
进入八进制转换 → DEC · 10十进制转换器
十进制转二进制、十六进制、八进制一键完成,演示「除基取余」完整步骤,作业验算神器。
进入十进制转换 → HEX · 16十六进制转换器
十六进制与二进制、十进制互转,解释 0x 前缀、颜色码 #RRGGBB 与内存地址的常见写法。
进入十六进制转换 →这个转换器有什么不一样
大数不丢精度
不用 JavaScript 原生数值直接换算,而是按位做大数运算。64 位地址、超长二进制串都能完整转换,这是多数在线工具做不到的。
输入即出结果
不需要点「转换」按钮,边输入边同步;自动容忍 0x、0b、0o 前缀和下划线分隔符,从代码里直接复制粘贴也能识别。
纯前端本地运行
所有换算都在你的浏览器里完成,不经过服务器、不存储任何输入内容,转换公司内网地址或敏感数据也放心。
进制转换常见问题
二进制、八进制、十进制、十六进制之间怎么快速互转?
最省事的路径是借道十进制:先按位权展开算出十进制值,再用除基取余得到目标进制。二进制与八进制、十六进制之间有更快的分组法——每 3 位对应一位八进制、每 4 位对应一位十六进制。当然,直接用本页顶部的转换器,输入任意一栏即可实时拿到全部四种结果。
为什么计算机使用二进制而不是十进制?
计算机的底层元件(晶体管)只有「导通」和「截止」两种稳定状态,天然对应 0 和 1。二进制下电路只需区分高低电平,抗干扰能力强、制造成本低;而且二进制的与、或、非运算可以直接用门电路实现,加法器等运算单元的设计因此非常简洁。
十六进制里的 A、B、C、D、E、F 分别代表多少?
分别代表十进制的 10 到 15。因为十六进制需要 16 个符号,而 0-9 只有十个数字,于是约定用前六个英文字母补齐:A=10、B=11、C=12、D=13、E=14、F=15。字母大小写等价,0xFF 与 0xff 是同一个数。
代码里看到的 0x、0b、0o 前缀是什么意思?
它们是编程语言中标注进制的约定前缀:0x 表示十六进制(如 0x1A)、0b 表示二进制(如 0b1010)、0o 表示八进制(如 0o17)。C、Java、Python、JavaScript 等主流语言均遵循这一写法。本站转换器会自动忽略这些前缀,直接粘贴即可。
负数和小数能转换吗?
本工具目前面向非负整数。负数转换时通常先取绝对值换算,再按补码规则处理符号位,涉及位数宽度(8 位、16 位、32 位),不同语言表现不同;小数部分则用「乘基取整」逐位求出,多数十进制小数在二进制下是无限循环小数。两种情况我们都在转换百科里给出了详细步骤。