进制转换器
在二进制、八进制、十进制、十六进制之间转换数字,支持2-36任意进制
在任意输入框中输入数值,即可实时查看所有进制的转换结果。
在2到36之间的任意进制之间进行转换。
进制转换器使用文档
什么是数制(基数)?
数制,又称基数或进位制,定义了在位值计数法中使用多少个不同的数字来表示数值。日常生活中最常用的是十进制(基数10),使用数字0-9。计算机主要使用二进制(基数2),而程序员经常使用十六进制(基数16)和八进制(基数8)来更简洁地表示二进制数据。
常见数制系统
| 进制 | 名称 | 数字符号 | 常见用途 |
|---|---|---|---|
| 2 | 二进制 | 0, 1 | 数字电路、计算机内存、机器码 |
| 8 | 八进制 | 0-7 | Unix文件权限、旧式计算机系统 |
| 10 | 十进制 | 0-9 | 日常数学运算、人类可读数字 |
| 16 | 十六进制 | 0-9, A-F | 内存地址、颜色代码(CSS/HTML)、字节表示 |
进制转换原理
将一个数从一种进制转换为另一种进制涉及两个主要步骤:
- 将源数字转换为十进制(基数10):将每个数字乘以其位置值(基数^位置),然后求和
- 使用连续除法将十进制结果转换为目标进制:除以目标基数并收集余数
- 逆序读取余数,得到目标进制的最终结果
转换示例
二进制 1101 → 十进制: (1×8) + (1×4) + (0×2) + (1×1) = 13
每个二进制数位代表2的幂:从右到左依次为 2⁰=1, 2¹=2, 2²=4, 2³=8,以此类推。
快速参照表 (0-15)
| 十进制 | 二进制 | 八进制 | 十六进制 |
|---|
常见使用场景
- 编程开发:调试内存地址、理解位运算、处理底层数据
- Web开发:在RGB十进制和十六进制格式之间转换CSS/HTML颜色代码
- 网络技术:理解不同格式的IP地址、子网掩码和MAC地址
- 数字电子:分析逻辑电路、理解二进制算术
- 数据分析:处理编码数据、解析二进制文件格式
使用技巧
- 十六进制数字A-F代表十进制值10-15。0xFF等于十进制的255。
- 每个十六进制数字恰好代表4个二进制位(比特),因此十六进制是二进制的便捷简写形式。
- 本工具使用BigInt实现任意精度,允许转换非常大的数字而不会损失精度。
常见问题
什么是数制,进制转换是如何工作的?
数制(或基数)定义了用多少个唯一数字来表示数值。十进制(base 10)使用数字 0-9;二进制(base 2)使用 0-1;十六进制(base 16)使用 0-9 和 A-F。进制转换时,将十进制值不断除以目标进制并收集余数——或先将原值转换为十进制,再转换为目标进制。
为什么程序员频繁使用十六进制?
十六进制简洁,且与二进制对应关系清晰:每个十六进制数字恰好代表 4 位(半字节)。这使得一眼就能看出内存地址、颜色代码和字节值。一个 8 位字节(0-255)恰好用 2 个十六进制数字表示,而二进制形式需要 8 位。内存转储、网络数据包和 CPU 寄存器用十六进制读取都方便得多。
二进制、八进制和十六进制有什么区别?
三者都是位置数系,只是基数不同。二进制(base 2)只使用 0 和 1,接近晶体管的工作方式。八进制(base 8)使用数字 0-7,在旧版 Unix 系统中常用于文件权限(如 chmod 755)。十六进制(base 16)是当今底层编程、颜色代码和内存表示中最常用的进制。
如何将负数转换为二进制?
最常见的方法是补码,几乎所有现代 CPU 都采用这种方式。求负数的补码步骤:(1) 将绝对值写成二进制;(2) 翻转所有位(取反码);(3) 加 1。例如,8 位补码中 -5 的表示为 11111011。本工具处理无符号整数;对于有符号数或补码运算,请使用专用的位运算计算器。
Base32 和 Base58 编码是什么?
Base32 使用 26 个字母加上 2-7,共 32 个符号——它避开了视觉上容易混淆的字符,如 0/O 和 1/l。Base58(用于比特币地址)使用 58 个字符的字母表,同样去掉了 0、O、I 和 l。这些编码在人类可读性和抗错误能力比最大紧凑性更重要的场合中使用。