将二进制数转换为十进制数,主要有以下两种常用方法:
一、按权相加法(位权展开法)
确定位数与权重
从右往左,二进制每位对应的权重为2的幂次方,即第1位(最右边)为$2^0=1$,第2位为$2^1=2$,第3位为$2^2=4$,依此类推。
计算每位数值
将二进制数的每位数字乘以对应的权重,例如二进制数$1011$:
$$
1 times 2^3 + 0 times 2^2 + 1 times 2^1 + 1 times 2^0 = 8 + 0 + 2 + 1 = 11
$$
求和
将所有计算结果相加,即得到十进制数。
二、除二取余法(迭代法)
整数部分转换
- 用2整除十进制整数,记录余数;
- 将商继续除以2,重复记录余数,直到商为0;
- 将余数从下到上排列,高位补零。
小数部分转换
- 将小数部分乘以2,取整数部分;
- 将小数部分继续乘以2,重复取整,直到小数部分为0或达到所需精度。
合并结果
- 整数部分与小数部分合并即为最终十进制数。
示例
以二进制数$11010110$为例:
按权相加法
$$
1 times 2^7 + 1 times 2^6 + 0 times 2^5 + 1 times 2^4 + 0 times 2^3 + 1 times 2^2 + 1 times 2^1 + 0 times 2^0 = 128 + 64 + 0 + 16 + 0 + 4 + 2 + 0 = 214
$$
除二取余法(整数部分)
- 214 ÷ 2 = 107 余 0
- 107 ÷ 2 = 53 余 1
- 53 ÷ 2 = 26 余 1
- 26 ÷ 2 = 13 余 0
- 13 ÷ 2 = 6 余 1
- 6 ÷ 2 = 3 余 0
- 3 ÷ 2 = 1 余 1
- 1 ÷ 2 = 0 余 1
- 倒序排列得$11010110$,转换为十进制为214。
工具辅助
可以使用在线进制转换工具(如)快速完成转换。输入二进制数后,工具会自动计算对应的十进制结果。
通过以上方法,可灵活处理二进制到十进制的转换,适用于不同场景的需求。