文章目录
前言
进制是数据表示与计算的基础规则,二进制、八进制、十进制、十六进制在计算机、电子技术等领域频繁应用。不同场景下,灵活转换进制可让数据处理更高效直观。本文将拆解四类进制转换逻辑,用清晰步骤与实例,帮你掌握转换方法,突破进制理解壁垒
一、初识进制
计算机科学中常用的进制包括 二进制(Bin)、八进制(Oct)、十进制(Dec) 和 十六进制(Hex)。我们日常使用的是十进制(0-9),而机器使用的是二进制,因为机器底层硬件仅识别0和1,所以数据最终以二进制存储和处理。八进制和十六进制则是二进制的简化表示,以便我们使用。
这里是各进制的表示方法:
| 进制 | 前缀标识 | 示例 | 数字范围 |
|---|---|---|---|
| 二进制 | 0b 或 0B | 0b1010 | 0 和 1 |
| 八进制 | 0 | 012(十进制10) | 0–7 |
| 十进制 | 无 | 42 | 0–9 |
| 十六进制 | 0x 或 0X | 0x1F(十进制31) | 0–9 和 A–F |
// 示例
int binary = 0b1010; // 二进制 → 10
int octal = 012; // 八进制 → 10(注意前缀是0)
int hex = 0xA; // 十六进制 → 10
二、进制转换方法
基数(Base): n 进制的基数即为 n
-
二进制:基数为2(每位是0或1)。
-
八进制:基数为8(每位0-7)。
-
十进制:基数为10(每位0-9)。
-
十六进制:基数为16(每位0-9,A-F)。
(1) 其他进制 → 十进制
方法:按权展开求和。
公式:

示例1:二进制→ 十进制
二进制数
1011转换为十进制
- 从左往右位数:3、2、1、0
- 计算:
1×2³ + 0×2² + 1×2¹ + 1×2⁰
= 8 + 0 + 2 + 1 = 11
- → 结果:
1011₂ = 11₁₀
(2) 十进制 → 其他进制
方法:除基取余法(整数部分)
- 将十进制数除以目标进制的基数,记录余数(作为转换后最低位);
- 用商继续除以基数,重复记录余数;
- 直到商为 0,将所有余数倒序排列,得到转换结果。
示例 2:十进制 → 八进制
十进制数
100转换为八进制:
- 100 ÷ 8 = 12 余 4
- 12 ÷ 8 = 1 余 4
- 1 ÷ 8 = 0 余 1
→ 余数倒序:144→100₁₀ = 144₈
(3) 二进制 ↔ 八进制/十六进制
-
二进制 → 八进制:每 3位 二进制为一组,转换为1位八进制。
-
二进制 → 十六进制:每 4位 二进制为一组,转换为1位十六进制。
-
反向转换:将每位八进制/十六进制展开为3/4位二进制。
二进制 → 八进制:从右往左每 3 位一组(不足补 0),每组对应 1 位八进制数。
示例:101101₂→ 分组010 110 1(补 0 为010 110 001)→ 对应2 6 1→261₈。八进制 → 二进制:每位八进制数拆分为 3 位二进制数,拼接后去掉前导 0。
示例:57₈→5→101,7→111→ 拼接101111₂。
(4) 八进制 ↔ 十六进制
步骤:
-
八进制 → 二进制 → 十六进制(或反向)。
这里是一张进制转换表,可以自己再尝试转换一下
| 二进制 | 八进制 | 十进制 | 十六进制 |
|---|---|---|---|
| 0000 | 0 | 0 | 0 |
| 0001 | 1 | 1 | 1 |
| 0010 | 2 | 2 | 2 |
| 0011 | 3 | 3 | 3 |
| 0100 | 4 | 4 | 4 |
| 0101 | 5 | 5 | 5 |
| 0110 | 6 | 6 | 6 |
| 0111 | 7 | 7 | 7 |
| 1000 | 10 | 8 | 8 |
| 1001 | 11 | 9 | 9 |
| 1010 | 12 | 10 | A |
| 1011 | 13 | 11 | B |
| 1100 | 14 | 12 | C |
| 1101 | 15 | 13 | D |
总结
通过对二进制、八进制、十进制、十六进制转换方法的梳理,我们掌握了按权展开(其他转十进制)、除基取余(十进制转其他) ,以及二进制与八 / 十六进制的分组快速转换 。
!&spm=1001.2101.3001.5002&articleId=149602185&d=1&t=3&u=1d37d3cc6eec4d418f91b7bc462cdddf)
13万+

被折叠的 条评论
为什么被折叠?



