将二进制转换为十进制主要有两种常用方法: 位权展开法和 除2取余法。以下是具体步骤和技巧:
一、位权展开法(按权相加法)
将32位二进制数按每8位一组分割(例如:11000000.10101000.00000001.00000001)。
计算每段十进制值
每个8位二进制数对应一个权值(从右到左依次为2⁰, 2¹, 2², ..., 2⁷),将每段二进制数按权展开后相加。例如:
- 11000000₂ = 1×2⁷ + 1×2⁶ + 0×2⁵ + 0×2⁴ + 0×2³ + 0×2² + 0×2¹ + 0×2⁰ = 128 + 64 = 192
- 0.10101000₂ = 1×2⁻¹ + 0×2⁻² + 1×2⁻³ + 0×2⁻⁴ + 1×2⁻⁵ + 0×2⁻⁶ + 0×2⁻⁷ = 0.5 + 0.125 + 0.03125 = 0.65625
组合结果
用点号(.)连接各段十进制数,得到最终结果:192.65625₁₀。
二、除2取余法(逐位计算法)
整数部分转换
- 将十进制整数除以2,记录余数(0或1),将余数从下到上排列。例如:
- 37 ÷ 2 = 18 余 1 → 余数1
- 18 ÷ 2 = 9 余 0 → 余数0
- 9 ÷ 2 = 4 余 1 → 余数1
- 4 ÷ 2 = 2 余 0 → 余数0
- 2 ÷ 2 = 1 余 0 → 余数0
- 1 ÷ 2 = 0 余 1 → 余数1
- 将余数倒序排列得到二进制数:100101₁₂。
小数部分转换
- 将十进制小数乘以2,取整数部分作为二进制位,重复此过程直到小数部分为0。例如:
- 0.75 × 2 = 1.5 → 取整数1
- 0.50 × 2 = 1.0 → 取整数1
- 结果为0.11₁₂。
组合结果
- 整数部分与小数部分合并:100101.11₁₂。
三、快速转换技巧
权值记忆法
- 八位二进制对应的权值依次为128、64、32、16、8、4、2、1,可快速计算。
分治法
- 将二进制数分段(如每4位一组),分别转换为十进制再组合。
工具辅助
- 使用计算器或编程语言(如Python)直接转换,例如Python代码:
```python
bin_num = '11000000.10101000'
dec_num = int(bin_num, 2)
print(dec_num) 输出192.65625
```
四、注意事项
二进制转十进制:
整数部分按“除2取余,余数倒序”;
小数部分按“乘2