Skip to content
难度基础(★)
建议时长60分钟
本课难点
  • 分组转换时高位补0与分组边界(3位一组/4位一组)
  • 十进制小数转其他进制的乘基取整法(容易在截断与精度上出错)
  • 综合题的通用策略:先统一进制再运算,最后再转回目标进制

1.1.2 进制转换

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

本节导学:进制转换不是孤立考点,而是后续计算题的工具

课程里讲得很明确:进制转换在软考中很少单独拿出来考,但它会藏在主存编址、IP 地址与子网、机器数读值这些题里。你看到的是地址、掩码、补码、容量,底层做的往往还是二进制、十进制、十六进制之间的切换。

进制的直觉可以从“逢几进一”理解:十进制逢十进一,二进制逢二进一,七天一个星期也可以类比成“逢七进一”。区别只是基数不同,位权不同。

1. 数码、基数、位权:所有转换的共同底层

概念含义十进制例子二进制例子
数码某一位允许出现的符号0901
基数一共多少个数码,逢几进一102
位权某一位的权值个位 100,十位 101低位 20,再往左 21,22

一个 r 进制数的本质是位权展开:

(ana1a0)r=i=0nairi

小数点右侧的位权变成负次幂:

(0.a1a2)r=a1r1+a2r2+

这两个公式解释了所有转换方法:非十进制转十进制是“按位权求和”,十进制转其他进制是“反过来拆出每一位数码”。

2. 常见进制标记

写法含义备注
1010B1010(2)二进制B 来自 binary
17(8)八进制数码只能是 07
3A7H3A7(16)十六进制A-F 表示 10-15
无特殊标记通常按十进制题目另有说明时按题意

十六进制在计算机里很常见,因为 16=24,一位十六进制正好压缩 4 位二进制。例如 F3H 就是 1111 0011B

3. 非十进制转十进制:位权展开法

把任意进制转十进制,步骤只有一个:每一位数码乘以对应位权,再求和。

例 1:把 11001B 转成十进制。

110012=1×24+1×23+0×22+0×21+1×20=16+8+1=25

例 2:把 1FH 转成十进制。

1F16=1×161+15×160=31

小数也一样,例如:

101.012=1×22+0×21+1×20+0×21+1×22=5.25

4. 十进制整数转其他进制:除基取余,逆序写

十进制整数转 r 进制,用除基取余法。每次除以 r 得到的余数,就是当前最低位;所以最后要把余数倒过来写。

例:把 2510 转成二进制。

text
25 / 2 = 12 ... 1
12 / 2 = 6  ... 0
6  / 2 = 3  ... 0
3  / 2 = 1  ... 1
1  / 2 = 0  ... 1

余数从下往上读:

2510=110012

例:把 9410 转成十六进制。

text
94 / 16 = 5 ... 14
5  / 16 = 0 ... 5

14 在十六进制中写作 E,所以:

9410=5E16

5. 十进制小数转其他进制:乘基取整,顺序写

十进制小数转 r 进制,用乘基取整法。每次乘以 r,整数部分就是下一位小数,按出现顺序写。

例:把 0.62510 转成二进制。

text
0.625 * 2 = 1.25  -> 取 1
0.25  * 2 = 0.5   -> 取 0
0.5   * 2 = 1.0   -> 取 1

所以:

0.62510=0.1012

如果小数部分一直不能变成 0,就说明目标进制下不能有限表示,题目通常会要求保留若干位。这和浮点数里的“有限位数只能近似表示部分实数”是同一类问题。

6. 二进制与八/十六进制:分组转换最快

二进制和八进制、十六进制之间不用每次都转十进制,可以直接分组:

转换分组依据原因
二进制 ↔ 八进制3 位一组23=8
二进制 ↔ 十六进制4 位一组24=16

从小数点开始,整数部分向左分组,小数部分向右分组,不足补 0。

text
11010110B = 1101 0110 = D6H
11010110B = 011 010 110 = 326(8)
1FH       = 0001 1111B

7. 技术取舍:为什么十六进制没有替代二进制

表示方式优点局限角色
二进制硬件最容易实现,和电路状态直接对应人读写长串二进制很费力机器内部实际基础
十进制人最熟悉,适合日常计算不适合直接映射硬件两态题目输入输出、人类阅读
十六进制和二进制换算极快,表示更短仍只是书写形式,硬件底层不是十六进制地址、机器码、内存内容的简写

所以十六进制不是新硬件表示替代二进制,而是人和机器之间更友好的阅读层。

8. 易错点

易错点正确处理
除基取余后顺序写反余数从下往上读
乘基取整后顺序写反整数部分按出现顺序读
小数位权写错小数点右侧第一位是 r1
分组从最左边随便切必须从小数点开始向两侧分组
十六进制字母忘记数值A-F 分别是 1015

🧪 例题(按难度)

基础练习

下面练习按照“真实考试”方式来做:先提交答案,再查看解析。

1) 25(10) → 二进制

填空
将 25(10) 转换为二进制。

2) 25(10) → 八进制

填空
将 25(10) 转换为八进制。

3) 25(10) → 十六进制

填空
将 25(10) 转换为十六进制。

4) 11001(2) → 十进制

填空
将 11001(2) 转换为十进制。

5) 37(8) → 十进制

填空
将 37(8) 转换为十进制。

6) 1F(16) → 十进制

填空
将 1F(16) 转换为十进制。

7) 11010110(2) → 八进制

填空
将 11010110(2) 转换为八进制。

8) 11010110(2) → 十六进制

填空
将 11010110(2) 转换为十六进制。

9) 326(8) → 十六进制

填空
将 326(8) 转换为十六进制。

💡 解题技巧

考试常见题型

  1. 直接转换题

    • 给定一个数,要求转换为其他进制
    • 技巧:熟记转换方法,注意计算准确性
  2. 混合运算题

    • 不同进制数的加减运算
    • 技巧:统一转换为十进制计算,再转回目标进制
  3. 应用题

    • 结合实际场景的进制转换
    • 技巧:理解题意,识别需要转换的数据

常见错误

  1. 余数顺序错误:除基取余法要倒序排列
  2. 位数不够:二进制转八/十六进制时要补足位数
  3. 字母大小写:十六进制字母通常用大写
  4. 小数转换:乘基取整法容易出错

🔍 知识扩展

为什么这些转换方法有效?

  1. 除基取余法:基于进制的定义,每一位都是基数的幂次
  2. 位权展开法:直接应用进制的数学定义
  3. 分组转换:利用2的幂次关系(2³=8, 2⁴=16)

计算机中的应用

  1. 内存地址:通常用十六进制表示
  2. 文件权限:Unix系统用八进制表示
  3. 颜色值:RGB颜色用十六进制表示
  4. 网络地址:IP地址各段是十进制,但内部是二进制

📚 本课小结

  1. 转换方法

    • 十进制转其他:除基取余法(整数)、乘基取整法(小数)
    • 其他转十进制:位权展开法
  2. 快速技巧

    • 二进制 ↔ 八进制:3位一组
    • 二进制 ↔ 十六进制:4位一组
  3. 注意事项

    • 余数倒序排列
    • 补足分组位数
    • 字母大小写规范

💪 课后作业

  1. 完成课后练习题的所有计算
  2. 熟记0-15的各进制对照表
  3. 练习快速转换技巧,提高计算速度