二进制转十进制的基本法则是 按权展开相加,具体方法如下:
一、整数部分转换
权值分配
从右往左,二进制每位对应的权值是2的幂次方,最右边第一位(最低位)对应$2^0$,第二位对应$2^1$,第三位对应$2^2$,以此类推。例如,二进制数$1011$的权值分布为:
$$
1 times 2^3 + 0 times 2^2 + 1 times 2^1 + 1 times 2^0
$$
逐位计算与求和
- 计算每一位的乘积:
$$
1 times 8 = 8, quad 0 times 4 = 0, quad 1 times 2 = 2, quad 1 times 1 = 1
$$
- 将所有乘积相加:
$$
8 + 0 + 2 + 1 = 11
$$
- 因此,二进制$1011$转换为十进制是$11$。
二、小数部分转换
负指数应用
小数部分从左往右,第$n$位对应的权值是$2^{-n}$。例如,二进制数$1101.01$的小数部分转换如下:
$$
1 times 2^{-1} + 0 times 2^{-2} + 1 times 2^{-3}
$$
逐位计算与求和
- 计算每一位的乘积:
$$
1 times 0.5 = 0.5, quad 0 times 0.25 = 0, quad 1 times 0.125 = 0.125
$$
- 将所有乘积相加:
$$
0.5 + 0 + 0.125 = 0.625
$$
- 因此,二进制$1101.01$转换为十进制是$13.625$。
三、注意事项
符号处理
- 若二进制数以$1$开头,表示负数,需先取反再转换(如$-1011$需转换为$0100$再按上述方法计算)。
- 无符号数直接按位计算。
工具辅助
可使用计算器或编程工具(如Python的`int()`函数)快速转换。
通过按权展开相加的方法,可以系统地将二进制数转换为十进制数,适用于整数、小数及带符号数的转换。