口算二进制转十进制可通过以下方法实现,主要分为两类情况: 整数部分和 小数部分。
一、整数部分转换(除2取余法)
步骤
- 用2整除二进制数,记录余数(0或1);
- 将商继续除以2,再记录余数;
- 重复上述步骤,直到商为0;
- 将余数从下到上倒序排列,即为十进制结果。
示例
将二进制 `10010101` 转换为十进制:
- 10010101 ÷ 2 = 5001000 余 1
- 5001000 ÷ 2 = 2500500 余 0
- 2500500 ÷ 2 = 1250250 余 0
- 1250250 ÷ 2 = 625125 余 0
- 625125 ÷ 2 = 312562 余 1
- 312562 ÷ 2 = 156281 余 0
- 156281 ÷ 2 = 78140 余 1
- 78140 ÷ 2 = 39070 余 0
- 39070 ÷ 2 = 19535 余 0
- 19535 ÷ 2 = 9767 余 1
- 9767 ÷ 2 = 4883 余 1
- 4883 ÷ 2 = 2441 余 1
- 2441 ÷ 2 = 1220 余 1
- 1220 ÷ 2 = 610 余 0
- 610 ÷ 2 = 305 余 0
- 305 ÷ 2 = 152 余 1
- 152 ÷ 2 = 76 余 0
- 76 ÷ 2 = 38 余 0
- 38 ÷ 2 = 19 余 0
- 19 ÷ 2 = 9 余 1
- 9 ÷ 2 = 4 余 1
- 4 ÷ 2 = 2 余 0
- 2 ÷ 2 = 1 余 0
- 1 ÷ 2 = 0 余 1
- 倒序排列:10010101(二进制)= 149(十进制)。
二、小数部分转换(乘2取整法)
步骤
- 将二进制小数部分乘以2,记录整数部分(0或1);
- 将小数部分继续乘以2,再记录整数部分;
- 重复上述步骤,直到小数部分为0或达到所需精度;
- 将整数部分从左到右排列,即为十进制结果。
示例
将二进制 `0.101` 转换为十进制:
- 0.101 × 2 = 0.202(整数部分0)
- 0.202 × 2 = 0.404(整数部分0)
- 0.404 × 2 = 0.808(整数部分0)
- 0.808 × 2 = 1.616(整数部分1)
- 0.616 × 2 = 1.232(整数部分1)
- ...(继续计算)
- 假设计算到小数点后6位:0.101 ≈ 0.10(二进制