Skip to content

进制转换器 — 二进制、十六进制、十进制、八进制互转

在线免费进制转换工具,支持二进制、八进制、十进制、十六进制及 2-36 任意进制互转。无需注册,数据不离开浏览器,即时获取结果。

无追踪 浏览器中运行 免费
二进制(2 进制)
-
八进制(8 进制)
-
十进制(10 进制)
-
十六进制(16 进制)
-
自定义进制
-
代码字面量
-
分组二进制
-

什么是进制转换器?

进制转换器是一种在不同位值计数系统之间转换数值的工具,每种系统由其基数(radix)定义——即使用的唯一数字数量。每种计数系统都是位值制的,意味着数字的值取决于其在数中的位置。基数决定了每个位置的乘数:在十进制中,位置代表 10 的幂;在十六进制中,位置代表 16 的幂。进制转换器自动完成将数值从一种基数转换到另一种基数的算术运算。

计算中最常用的四种进制是二进制(基数 2)、八进制(基数 8)、十进制(基数 10)和十六进制(基数 16)。二进制是处理器的原生语言,以 0 和 1 的序列表示数据。八进制整齐映射到 3 位分组,用于 Unix 文件权限。十进制是人类可读的默认格式。十六进制将 4 位压缩为一个字符,使其成为内存地址、CSS 颜色代码和字节级数据检查的标准。其他进制出现在特定场景中——例如,Base64 用于数据编码(相关用例请参见我们的 Base64 编码器)。

此工具支持 2 到 36 之间的任意整数进制,对于 10 以上的进制使用数字 0-9 和字母 A-Z。它由 JavaScript 的 BigInt 驱动,支持任意精度运算,对数字位数没有上限。所有处理完全在您的浏览器中运行——不会向服务器传输任何数据,确保加密密钥或专有标识符等敏感值的完全隐私。

// The number 42 in different bases:
// Binary:      101010   (base 2)
// Octal:       52       (base 8)
// Decimal:     42       (base 10)
// Hexadecimal: 2A       (base 16)

// JavaScript code literals:
const bin = 0b101010;   // 42
const oct = 0o52;       // 42
const hex = 0x2A;       // 42

进制转换工具的核心功能

实时多进制转换

同时查看二进制、八进制、十进制和十六进制结果——所有字段随输入即时更新。

自定义进制支持(2-36)

使用数字 0-9 和字母 A-Z,在 2 到 36 之间的任意进制之间进行转换。

BigInt 任意精度

输入数字无大小限制。转换数百位的数值不会损失精度。

编程格式输出

复制为编程语言字面量(0b、0o、0x),可直接用于 JavaScript、Python、Go、Rust 和 C。

分组二进制显示

二进制输出以半字节分组(4 位一组)显示,便于视觉检查。

100% 浏览器运行

所有处理在浏览器本地完成。无服务器上传、无追踪、无 Cookie——您的数据永远不会离开设备。

进制转换示例

二进制转十进制 — ASCII 字符编码

1000001
65

二进制值 1000001 等于十进制 65,这是大写字母 'A' 的 ASCII 编码。理解这种映射关系是计算机文本编码的基础。

十进制转二进制 — 子网掩码

255
11111111

十进制 255 转换为二进制 11111111 — 一个完整的全 1 八位组。这是构建子网掩码(如 255.255.255.0)的基本单元,在有类网络中每个八位组要么全 1 要么全 0。

十进制转十六进制 — RGB 颜色通道

255
FF

十进制 255 在十六进制中是 FF,代表单个 RGB 颜色通道的最大值。CSS 颜色如 #FF5733 每个通道使用两位十六进制数字:FF(红)、57(绿)、33(蓝)。

十六进制颜色转二进制

FF5733
1111 1111 0101 0111 0011 0011

将 CSS 十六进制颜色代码转换为二进制表示,以了解各位的模式

十六进制转十进制 — 内存地址

1A3F
6719

十六进制地址 0x1A3F 等于十进制 6719。调试器和内存检查器以十六进制显示地址,因为它能整齐映射到二进制,但在进行指针运算和偏移量计算时有时需要十进制值。

Unix 权限转十进制

755
493

将八进制 Unix 文件权限(rwxr-xr-x)转换为十进制等值

二进制 IP 八位组转十进制

11000000
192

将二进制 IP 地址八位组转换为十进制 — 192.168.x.x 的第一个八位组

大数转三十六进制

1000000
LFLS

将大十进制数编码为紧凑的三十六进制字符串,常用于短链接服务

常见进制转换

最常用数字进制转换的快速参考。

如何将二进制转换为十六进制

二进制(基数 2) 十六进制(基数 16)

从右到左将二进制数字每 4 位分为一组,然后将每组映射到对应的十六进制值。例如,1010 1111 变为 AF。要将十六进制转回二进制,将每个十六进制数字展开为 4 位二进制。

10101111 AF

每个十六进制数字恰好代表 4 个二进制位——记住 0-F 的映射,转换就能即时完成。

在上方试一试——输入您的数字,即时查看转换结果。

如何将二进制转换为十进制

二进制(基数 2) 十进制(基数 10)

将每个二进制数字乘以 2 的位数次方(从右侧的 0 开始),然后求和。例如,1011 = 1×8 + 0×4 + 1×2 + 1×1 = 11。要将十进制转为二进制,反复除以 2 并从下往上读取余数。

1011 11

2 的幂值得记忆:1、2、4、8、16、32、64、128、256、512、1024。

在上方试一试——输入您的数字,即时查看转换结果。

如何将十六进制转换为十进制

十六进制(基数 16) 十进制(基数 10)

将每个十六进制数字乘以 16 的位数次方,然后求和。例如,FF = 15×16¹ + 15×16⁰ = 240 + 15 = 255。要将十进制转为十六进制,反复除以 16 并将余数映射为十六进制数字。

FF 255

记住十六进制中 A=10、B=11、C=12、D=13、E=14、F=15。

在上方试一试——输入您的数字,即时查看转换结果。

如何将十进制转换为八进制

十进制(基数 10) 八进制(基数 8)

将十进制数反复除以 8,收集余数。从下往上读取余数即为八进制结果。例如,255 ÷ 8 = 31 余 7,31 ÷ 8 = 3 余 7,3 ÷ 8 = 0 余 3,得到 377。要将八进制转为十进制,将每位数字乘以 8 的位数次方并求和。

255 377

八进制常用于 Unix 文件权限:7=rwx、5=r-x、4=r--。

在上方试一试——输入您的数字,即时查看转换结果。

如何将八进制转换为十六进制

八进制(基数 8) 十六进制(基数 16)

最简单的方法是先将八进制转为二进制(每个八进制数字 = 3 位),然后重新分组为 4 位半字节以得到十六进制。例如,八进制 755 → 二进制 111 101 101 → 重新分组为 0001 1110 1101 → 十六进制 1ED。反向操作则将十六进制转为二进制,再重新分组为 3 位八进制组。

755 1ED

通过二进制作为中间步骤几乎总是八进制和十六进制之间最快的转换路径。

在上方试一试——输入您的数字,即时查看转换结果。

如何将八进制转换为二进制

八进制(基数 8) 二进制(基数 2)

将每个八进制数字替换为其 3 位二进制等值。例如,八进制 17 → 001 111 → 二进制 1111(去掉前导零)。要将二进制转为八进制,从右侧将位分成每 3 位一组,并将每组映射到对应的八进制数字。

17 1111

由于 8 = 2³,每个八进制数字恰好映射到 3 个二进制位——使得这种转换成为简单的查表操作。

在上方试一试——输入您的数字,即时查看转换结果。

如何使用进制转换器

  1. 1

    选择源进制

    从下拉菜单中选择输入数字的进制:二进制(2)、八进制(8)、十进制(10)、十六进制(16),或 2 到 36 之间的任意自定义进制。

  2. 2

    输入数字

    在输入框中输入或粘贴要转换的数字。工具会根据选定的进制实时验证您的输入。

  3. 3

    查看即时结果

    在输入框下方的二进制、八进制、十进制和十六进制字段中立即查看转换后的值。所有转换随输入实时更新。

  4. 4

    复制或使用代码字面量

    点击任意输出旁边的复制按钮来复制该值。使用代码字面量区域获取编程格式,如 0xFF、0b1010 或 0o17。

进制转换的应用场景

调试内存地址
将十六进制内存地址转换为二进制或十进制,用于调试指针运算和内存布局。
CSS 颜色代码转换
将 #FF5733 等十六进制颜色代码转换为十进制 RGB 等值或二进制位模式。
Unix 文件权限
在八进制权限代码(755、644)与其十进制或二进制表示之间转换。
网络子网掩码
在二进制、十进制和十六进制之间转换子网掩码,用于网络配置和 CIDR 计算。
短链接编码
将大型数字 ID 编码为紧凑的三十六进制字符串,用于更短、更易分享的 URL。
教学练习
验证计算机科学和离散数学课程中手动进制转换的计算结果。

技术细节

BigInt 精度
使用 JavaScript BigInt 进行任意精度整数运算,消除了 Number 类型 53 位的限制。
进制范围
支持 2 到 36 之间任意进制的转换,扩展进制使用数字 0-9 和字母 A-Z。
浏览器端处理
所有转换在 JavaScript 客户端运行,零网络调用。数据不会离开您的浏览器。

进制转换最佳实践

使用已知值验证
学习进制转换时,从已知的小值开始(如 255 = FF = 11111111)来建立直觉。
字节数据使用十六进制
处理字节级数据时,优先使用十六进制而非二进制——每个字节恰好是 2 个十六进制数字。
检查数字有效性
确保输入的数字对所选进制有效——例如,八进制只允许数字 0-7。

进制转换常见问题

什么是进制(基数),为什么它在编程中很重要?
进制(基数)定义了一个位值计数系统中使用的不同数字的数量。十进制使用数字 0-9;二进制使用 0 和 1;十六进制使用 0-9 和 A-F。在编程中,二进制表示原始机器数据,八进制用于 Unix 文件权限(如 chmod 755),十六进制是内存地址、颜色代码(#FF5733)和字节级数据检查的标准。理解进制对于调试、网络编程和底层开发至关重要。
如何手动进行进制转换?
从任意进制转换为十进制:将每一位数字乘以基数的位数次方(从右到左,从 0 开始),然后求和。例如,二进制 1011 = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8+0+2+1 = 11。从十进制转换为其他进制:反复除以目标基数,逆序收集余数。例如,十进制 255 转十六进制:255÷16 = 15 余 15,得到 FF。
使用此进制转换器时我的数据安全吗?
完全安全。所有转换都在您的浏览器中通过 JavaScript 本地运行。没有任何数据发送到服务器——没有网络请求、没有 Cookie、没有对您输入的分析,也没有任何数据存储。您的数字永远不会离开您的设备。此工具非常适合转换内存地址或专有字节序列等敏感数据。
什么是三十六进制,它在哪里使用?
三十六进制是最大的字母数字进制,使用数字 0-9 和字母 A-Z(其中 A=10 到 Z=35)。它广泛用于短链接服务(如 YouTube 视频 ID)、紧凑的唯一标识符、数据库主键,以及将大数字编码为简短的可读字符串。例如,十进制数 1,000,000 在三十六进制中为 LFLS——更短更易分享。三十六进制在 Web 开发中尤其流行,用于生成对 URL 友好的紧凑标识符,这些标识符不区分大小写,非常适合 URL 和短码。
有符号和无符号数表示有什么区别?
无符号数只表示非负值(0 和正数)。有符号数可以表示正值和负值,在计算机中通常使用补码编码。在补码表示中,最高位表示符号:0 表示正,1 表示负。例如,8 位无符号范围是 0-255;8 位有符号(补码)范围是 -128 到 127。
为什么程序员使用十六进制而不是二进制?
十六进制是二进制数据的紧凑表示:每个十六进制数字恰好对应 4 个二进制位(一个半字节)。这使得十六进制比长二进制字符串更容易读写。例如,二进制值 11111111 00001010 在十六进制中就是 FF0A。十六进制是内存地址、颜色代码(CSS #FF5733)、MAC 地址(00:1A:2B:3C:4D:5E)和 UUID 格式的标准。
此工具能处理非常大的数字吗?
可以。此工具使用 JavaScript 的 BigInt 进行任意精度整数运算,因此对数字位数没有上限。您可以在 2 到 36 之间的任意进制之间转换数百甚至数千位的数字而不丢失精度。JavaScript 的原生 Number 类型限制为 53 位整数(最大 9,007,199,254,740,991),但 BigInt 完全消除了这一限制。无论您处理的是加密哈希、大型数据库 ID 还是科学计算,此工具都能准确处理。
如何手动将二进制转换为十六进制?
最简单的方法是 4 位分组法。从最右边的位开始,将二进制数分成每 4 位一组(称为半字节)。如果最左边的组不足 4 位,用前导零补齐。然后用查找表转换每组:0000=0、0001=1、0010=2、0011=3、0100=4、0101=5、0110=6、0111=7、1000=8、1001=9、1010=A、1011=B、1100=C、1101=D、1110=E、1111=F。例如,二进制 10101111 分成 1010 和 1111,分别对应 A 和 F,结果为十六进制 AF。这种方法之所以有效,是因为 16 是 2 的幂(16 = 2⁴),每个十六进制数字恰好代表 4 个二进制位。
如何在不同进制之间转换负数?
计算机中的负数通常使用补码(two's complement)表示。在这个系统中,最高有效位(MSB)作为符号位:0 表示正数,1 表示负数。要求一个数的补码,先将所有位取反(0 变 1,1 变 0),然后加 1。例如,要用 8 位二进制表示 -5:从 5(00000101)开始,取反得到 11111010,加 1 得到 11111011。这意味着 -5 的 8 位补码是二进制 11111011 或十六进制 FB。n 位补码数的范围是 -2^(n-1) 到 2^(n-1)-1。此工具转换数字的绝对值;对于有符号表示,需要手动应用补码。
十六进制和十进制有什么区别?
十进制(基数 10)使用十个数字(0-9),是人类最熟悉的日常数制。十六进制(基数 16)使用十六个符号(0-9 和 A-F),是计算中的首选格式。关键区别在于位值:十进制中每个位置代表 10 的幂(1、10、100、1000...),而十六进制中每个位置代表 16 的幂(1、16、256、4096...)。例如,十进制 255 在十六进制中是 FF,因为 15×16 + 15×1 = 255。十六进制在编程中受青睐,因为它能整齐映射到二进制——每个十六进制数字恰好代表 4 位——非常适合内存地址、颜色代码和字节级数据。
为什么计算机使用二进制而不是十进制?
计算机使用二进制(基数 2),因为其基本构建块——晶体管——作为电子开关运行,只有两种状态:开(1)和关(0)。这完美映射到二进制数字。表示十进制数字需要电路可靠地区分 10 种不同的电压级别,这比仅区分 2 种状态要复杂得多且更容易出错。二进制还与布尔逻辑(真/假)自然对齐,布尔逻辑构成了所有计算机操作的基础。虽然早期计算机曾试验过三进制和十进制系统,但二进制因在电子电路中提供最佳的简洁性、可靠性和抗噪声能力而胜出。
为什么 Unix 文件权限用八进制表示?
Unix 文件权限使用三个类别——所有者、组和其他人——每个类别有三个权限位:读(r=4)、写(w=2)和执行(x=1)。由于 3 位可以表示 0-7 的值,每个类别完美映射到一个八进制数字。例如,权限 755 表示:所有者有 rwx(7 = 4+2+1),组有 r-x(5 = 4+0+1),其他人有 r-x(5 = 4+0+1)。八进制是自然选择,因为每个数字恰好编码一个权限组。在二进制中,755 是 111 101 101,直接显示 rwx 位模式。这种优雅的 3 位到 1 位映射正是 chmod 使用八进制表示法的原因。
十六进制颜色在 Web 开发中如何使用?
在 Web 开发中,颜色通常以 #RRGGBB 十六进制格式指定,其中每对十六进制数字代表一个颜色通道:红色、绿色和蓝色。每个通道范围从 00(0,无强度)到 FF(255,最大强度)。例如,#FF5733 表示红色=FF(255)、绿色=57(87)、蓝色=33(51),产生鲜艳的橙红色。还有简写符号——#F00 扩展为 #FF0000(纯红色)。现代 CSS 还支持 #RRGGBBAA 表示 alpha 透明度,其中 AA 范围从 00(完全透明)到 FF(完全不透明)。使用十六进制是因为两位十六进制数字完美表示一个字节(0-255),使其成为颜色值的紧凑可读格式。
进制转换在网络工程中有哪些实际应用?
进制转换在网络工程中对于处理 IP 地址、子网掩码和 MAC 地址至关重要。IPv4 地址如 192.168.1.1 以十进制书写,但子网计算需要二进制。例如,/24 子网掩码在二进制中是 11111111.11111111.11111111.00000000,即十进制的 255.255.255.0。网络工程师对 IP 地址和子网掩码进行二进制按位与(AND)运算以确定网络地址。MAC 地址使用十六进制表示法(如 00:1A:2B:3C:4D:5E),因为每对十六进制数字代表一个字节。理解进制转换有助于计算子网、排除路由故障和分析数据包捕获。
此工具与编程语言内置转换函数相比如何?
编程语言提供内置转换函数——JavaScript 有 parseInt() 和 toString(),Python 有 bin()、oct()、hex() 和 int()。然而,此工具提供了几个优势:它同时转换为所有常见进制并实时更新,无需编程环境设置,在一个界面中支持 2 到 36 的任意进制,并使用 BigInt 提供超出某些语言默认值的任意精度。它非常适合快速查找、验证代码输出、以可视化方式学习进制转换概念,以及处理语言内置函数不直接支持的进制。对于生产代码,请使用语言的原生函数;对于探索和调试,此工具更快更方便。

在线图片压缩工具 – 免费批量压缩

转换工具

免费在线压缩 JPEG、PNG、WebP 图片,体积缩小高达 80%。浏览器本地处理、图片不上传服务器。支持批量压缩 20 张、质量调节、前后对比预览。无需注册。

长度单位转换器 — 公制、英制、天文单位一键互转

转换工具

1 英寸 = 2.54 厘米,1 英尺 = 0.3048 米,1 英里 = 1.609 千米。支持公制、英制、海里、天文共 16 种长度单位即时互转。免费在线工具,所有计算在浏览器本地完成,数据不离开您的设备。

温度单位转换器 — 摄氏、华氏、开尔文、兰氏一键互转

转换工具

0 °C = 32 °F = 273.15 K = 491.67 °R。摄氏度、华氏度、开尔文、兰氏度即时互转 — 免费、隐私安全、浏览器运行。含转换公式、分步指南和参考图表。

体积容量换算器 — 公制、美制、英制 15 种单位互转

转换工具

1 升 = 0.2642 美制加仑,1 杯 = 236.6 毫升。在线体积容量换算工具,支持升、毫升、加仑、杯、液体盎司等 15 种公制美制英制单位即时互转。免费使用,数据不离开浏览器。

重量换算器 — 千克、磅、盎司、克、斤等 13 种单位

转换工具

1千克=2.205磅 · 1盎司=28.35克 · 1斤=500克。支持公制、英制、金衡制共13种重量单位互转,含换算表、公式与常见物品重量参考。免费在线工具,数据不离开浏览器。

Base64 解码与编码工具

编码和格式化

免费在线 Base64 解码编码工具。实时转换,支持中文和 Emoji,100% 浏览器端运行,数据不离开设备,无需注册。