十进制和二进制之间的转换是计算机科学中的基础操作,以下是详细的转换方法及示例:


一、十进制 → 二进制

方法1:除2取余法(整数部分)
  1. 步骤

    • 将十进制数不断除以2,记录余数。

    • 直到商为0时停止,将余数逆序排列即为二进制结果。

  2. 示例(以十进制数 25 为例):

    25 ÷ 2 = 12 余 1
    12 ÷ 2 = 6  余 0
    6 ÷ 2 = 3   余 0
    3 ÷ 2 = 1   余 1
    1 ÷ 2 = 0   余 1
    • 余数逆序排列:11001

    • 结果:25₁₀ = 11001₂


方法2:位权展开法(整数部分)
  1. 步骤

    • 找到小于等于目标数的最大2的幂次。

    • 依次减去这些幂次值,标记对应二进制位为1。

  2. 示例(以十进制数 25 为例):

    2⁴ = 16 ≤ 25 → 标记第5位为1,余 25-16=9
    2³ = 8  ≤ 9  → 标记第4位为1,余 9-8=1
    2² = 4  > 1  → 标记第3位为0
    2¹ = 2  > 1  → 标记第2位为0
    2⁰ = 1  ≤ 1  → 标记第1位为1,余 1-1=0
    • 二进制结果:11001₂(高位到低位依次填充)。


二、二进制 → 十进制

方法:按权展开求和
  1. 步骤

    • 从右到左(最低位到最高位),每一位的值乘以2的幂次。

    • 将所有结果相加。

  2. 示例(以二进制数 11001₂ 为例):

    1  1  0  0  1
    ↓  ↓  ↓  ↓  ↓
    2⁴ 2³ 2² 2¹ 2⁰
    =16 +8 +0 +0 +1 =25
    • 结果:11001₂ =25₁₀


三、小数部分的转换

1. 十进制小数 → 二进制小数
  • 步骤

    • 将小数部分不断乘以2,取整数部分作为二进制位。

    • 直到小数部分为0或达到所需精度。

  • 示例(以十进制数 0.625 为例):

    0.625 × 2 = 1.25 → 整数部分1,余0.25
    0.25  × 2 = 0.5  → 整数部分0,余0.5
    0.5   × 2 = 1.0  → 整数部分1,余0
    • 二进制结果:0.101₂

2. 二进制小数 → 十进制小数
  • 步骤

    • 从左到右(小数点后第1位开始),每一位的值乘以2的负幂次。

    • 将所有结果相加。

  • 示例(以二进制数 0.101₂ 为例):

    1×2⁻¹ + 0×2⁻² + 1×2⁻³ = 0.5 + 0 + 0.125 = 0.625
    • 结果:0.101₂ =0.625₁₀


四、总结

转换方向 方法 关键点
十进制整数 → 二进制 除2取余法 / 位权展开法 余数逆序排列,注意最高位补0
二进制 → 十进制整数 按权展开求和 从右到左计算权重(2⁰, 2¹, ...)
十进制小数 → 二进制 乘2取整法 结果可能无限循环
二进制小数 → 十进制 按权展开求和 从左到右计算权重(2⁻¹, 2⁻²,...)

通过上述方法,可以快速完成整数和小数的十进制与二进制转换。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐