免费 · 免注册 · 支持超长数字

在线进制转换工具,二进制、十进制、十六进制输入即换算

在任意一栏输入数字,其余进制结果实时同步生成。基于大数逐位运算,转换超过 15 位的二进制串也不会丢失精度,程序员、学生与电子爱好者都能直接上手。

进制互转换算器

支持 2 / 8 / 10 / 16 进制互转;输入框会自动忽略 0x、0b、0o 前缀以及空格、下划线,直接粘贴代码里的写法也没问题。

试试这些例子:

指定进制互转

点一下标签即可切换源进制与目标进制,输入数值立即换算;⇄ 按钮可一键对调方向。

转换结果会显示在这里

QUICK TABLE

常用进制对照速查表(0 - 20)

把这张表记熟,看一眼十进制数就能报出二进制和十六进制写法,调试代码、看内存地址都会快很多。

十进制二进制八进制十六进制
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
16100002010
17100012111
18100102212
19100112313
20101002414
BASIC KNOWLEDGE

什么是进制?一句话讲透「满几进一」

进位计数制的本质

进制也叫进位计数制,说的是用多少个不同符号来表示数,以及什么时候向高位进位。我们从小使用的十进制「满十进一」,只用了 0 到 9 这十个符号;而计算机内部通行的二进制「满二进一」,只用 0 和 1 两个符号。符号越少,写同一个数需要的位数就越多,但电路实现却越简单——这正是计算机选择二进制的根本原因。

任何一个进制数都可以按「位权展开」换算成十进制。所谓位权,就是每一位所代表的实际大小,等于基数(进制的几)的若干次方。以二进制的 1101 为例,从右往左各位的位权依次是 2 的 0、1、2、3 次方,于是 1101 = 1×8 + 1×4 + 0×2 + 1×1 = 十进制的 13。反过来,把十进制数不断除以基数、记录余数,再把余数倒着读出来,就得到了目标进制的写法。这两种方法互为逆运算,构成了所有进制换算的骨架。

除了最常见的二、八、十、十六进制,工程领域还会碰到三十二进制、六十四进制(如 Base64 编码)甚至任意进制。本站的转换器按字符串逐位计算,理论上支持到三十六进制以内任意基数的互转,超长数字也不会像普通计算器那样溢出。

HOW TO

手工换算怎么做?两套口诀走天下

方法一:除基取余,余数倒排(十进制 → 其他进制)

把十进制数不断除以目标进制的基数,每一步记下余数,直到商为 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——这个技巧在阅读十六进制内存地址时特别省时间。需要更系统的讲解可以阅读我们的进制转换百科。

USE CASES

哪些场景离不开进制转换

编程与调试

看内存地址、读反汇编、设位标志位时满屏都是 0x 开头的十六进制;写底层驱动时又要直接面对二进制寄存器位。转换器能帮你把看不懂的数立刻翻译成熟悉的十进制。

考试与课程作业

计算机组成原理、数字电路、C 语言等课程的必考题型。用工具验算「除基取余」的手工答案,比翻课本对答案更快,也更容易发现步骤里抄错的余数。

网络、色彩与硬件

IPv4 地址本质是 32 位二进制,子网掩码计算依赖二进制;网页色值 #FF5500 是十六进制;硬件手册里的寄存器配置表几乎全是二进制位描述——都离不开随时换算。

ALL TOOLS

按进制进入专属转换页

每个进制都有独立页面,预置好常用转换方向,并配有该进制的详细说明、换算示例与专属速查表。

WHY US

这个转换器有什么不一样

大数不丢精度

不用 JavaScript 原生数值直接换算,而是按位做大数运算。64 位地址、超长二进制串都能完整转换,这是多数在线工具做不到的。

输入即出结果

不需要点「转换」按钮,边输入边同步;自动容忍 0x、0b、0o 前缀和下划线分隔符,从代码里直接复制粘贴也能识别。

纯前端本地运行

所有换算都在你的浏览器里完成,不经过服务器、不存储任何输入内容,转换公司内网地址或敏感数据也放心。

FAQ

进制转换常见问题

二进制、八进制、十进制、十六进制之间怎么快速互转?

最省事的路径是借道十进制:先按位权展开算出十进制值,再用除基取余得到目标进制。二进制与八进制、十六进制之间有更快的分组法——每 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 位),不同语言表现不同;小数部分则用「乘基取整」逐位求出,多数十进制小数在二进制下是无限循环小数。两种情况我们都在转换百科里给出了详细步骤。

现在就开始换算

不用注册、不用下载,回到页面顶部输入数字,四种进制结果同时呈现。

立即使用转换器 先学换算方法