0%

进制转换

进制转换:二进制、八进制、十进制、十六进制的转换方法

在计算机领域,二进制(B)、八进制(O)、十进制(D)和十六进制(H)是最常用的数制。掌握它们之间的转换规则,是理解计算机数据存储和运算的基础。以下是详细的转换方法:

十进制与其他进制的转换

1. 十进制转二进制(除 2 取余法)

核心步骤:将十进制数反复除以 2,记录每次的余数,直到商为 0,最后将余数从后往前排列

示例:将十进制数94转为二进制

  • 计算过程:

    1
    2
    3
    4
    5
    6
    7
    94 ÷ 2 = 47  余数 0  
    47 ÷ 2 = 23 余数 1
    23 ÷ 2 = 11 余数 1
    11 ÷ 2 = 5 余数 1
    5 ÷ 2 = 2 余数 1
    2 ÷ 2 = 1 余数 0
    1 ÷ 2 = 0 余数 1
  • 结果:余数从后往前排列 → 1011110(即 94D = 1011110B)。

2. 十进制转八进制(除 8 取余法)

核心步骤:类似二进制转换,将十进制数反复除以 8,记录余数,最后从后往前排列

示例:将十进制数156转为八进制

  • 计算过程:

    1
    2
    3
    156 ÷ 8 = 19  余数 4  
    19 ÷ 8 = 2 余数 3
    2 ÷ 8 = 0 余数 2
  • 结果:余数从后往前排列 → 234(即 156D = 234O)。

3. 十进制转十六进制(除 16 取余法)

核心步骤:除以 16 取余,余数为 10~15 时分别用 A~F 表示,最后从后往前排列

示例:将十进制数250转为十六进制

  • 计算过程:

    1
    2
    250 ÷ 16 = 15  余数 10(A)  
    15 ÷ 16 = 0 余数 15(F)
  • 结果:余数从后往前排列 → FA(即 250D = FAH)。

其他进制转十进制(按权展开法)

核心步骤:将数的每一位乘以基数的 “位权”(从右往左,位权从 0 开始递增),再求和。

1. 二进制转十进制

示例:将二进制数1011.01转为十进制

  • 整数部分:1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11
  • 小数部分:0×2⁻¹ + 1×2⁻² = 0 + 0.25 = 0.25
  • 结果:11 + 0.25 = 11.25(即 1011.01B = 11.25D)。

2. 八进制转十进制

示例:将八进制数34.6转为十进制

  • 整数部分:3×8¹ + 4×8⁰ = 24 + 4 = 28
  • 小数部分:6×8⁻¹ = 6×0.125 = 0.75
  • 结果:28 + 0.75 = 28.75(即 34.6O = 28.75D)。

3. 十六进制转十进制

示例:将十六进制数A3.C转为十进制

  • 整数部分:10×16¹ + 3×16⁰ = 160 + 3 = 163
  • 小数部分:12×16⁻¹ = 12×0.0625 = 0.75
  • 结果:163 + 0.75 = 163.75(即 A3.CH = 163.75D)。

二进制与八进制、十六进制的快速转换

由于 8 和 16 都是 2 的整数次幂((8=2³),(16=2⁴)),二进制与它们的转换可通过 “分组法” 快速完成。

1. 二进制转八进制(3 位一组)

核心步骤

  • 整数部分:从右往左每 3 位一组,不足 3 位则在左边补 0;
  • 小数部分:从左往右每 3 位一组,不足 3 位则在右边补 0;
  • 每组对应一个八进制数(0~7)。

示例:将二进制数10110101.11转为八进制

  • 整数部分分组:10 110 101 → 补 0 为 010 110 101 → 对应八进制 2 6 5
  • 小数部分分组:11 → 补 0 为 110 → 对应八进制 6
  • 结果:265.6(即 10110101.11B = 265.6O)。

2. 二进制转十六进制(4 位一组)

核心步骤

  • 整数部分:从右往左每 4 位一组,不足 4 位则在左边补 0;
  • 小数部分:从左往右每 4 位一组,不足 4 位则在右边补 0;
  • 每组对应一个十六进制数(0~9,A~F)。

示例:将二进制数1101101.0101转为十六进制

  • 整数部分分组:1101 101 → 补 0 为 0110 1101 → 对应十六进制 6 D
  • 小数部分分组:0101 → 对应十六进制 5
  • 结果:6D.5(即 1101101.0101B = 6D.5H)。

3. 八进制 / 十六进制转二进制(反向分组)

核心步骤:将每一位八进制数转为 3 位二进制数,每一位十六进制数转为 4 位二进制数,再拼接。

示例 1:八进制57.3转二进制

  • 5→1017→1113→011 → 拼接为 101111.011B

示例 2:十六进制E8.A转二进制

  • E→11108→1000A→1010 → 拼接为 11101000.1010B

欢迎关注我的其它发布渠道

表情 | 预览
快来做第一个评论的人吧~
Powered By Valine
v1.3.10