文章目录
文章目录
前言
一、初识进制
二、进制转换方法
(1) 其他进制 → 十进制
(2) 十进制 → 其他进制
(3) 二进制 ↔ 八进制/十六进制
(4) 八进制 ↔ 十六进制
总结
前言
进制是数据表示与计算的基础规则,二进制、八进制、十进制、十六进制在计算机、电子技术等领域频繁应用。不同场景下,灵活转换进制可让数据处理更高效直观。本文将拆解四类进制转换逻辑,用清晰步骤与实例,帮你掌握转换方法,突破进制理解壁垒
一、初识进制
计算机科学中常用的进制包括 二进制(Bin)、八进制(Oct)、十进制(Dec) 和 十六进制(Hex)。我们日常使用的是十进制(0-9),而机器使用的是二进制,因为机器底层硬件仅识别0和1,所以数据最终以二进制存储和处理。八进制和十六进制则是二进制的简化表示,以便我们使用。
这里是各进制的表示方法:
进制前缀标识示例数字范围二进制0b 或 0B0b10100 和 1八进制0012(十进制10)0–7十进制无420–9十六进制0x 或 0X0x1F(十进制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 余 412 ÷ 8 = 1 余 41 ÷ 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) 八进制 ↔ 十六进制
步骤:
八进制 → 二进制 → 十六进制(或反向)。
这里是一张进制转换表,可以自己再尝试转换一下
二进制八进制十进制十六进制00000000001111001022200113330100444010155501106660111777100010881001119910101210A10111311B11001412C11011513D
总结
通过对二进制、八进制、十进制、十六进制转换方法的梳理,我们掌握了按权展开(其他转十进制)、除基取余(十进制转其他) ,以及二进制与八 / 十六进制的分组快速转换 。