二进制转换为十进制的方法如下,分为整数和小数两类:
一、整数二进制转十进制
无符号整数 从右往左依次用二进制位上的数字乘以2的n次幂(n从0开始递增),然后将所有积相加。 示例:
二进制数1101001转换为十进制:
$$
1 times 2^6 + 0 times 2^5 + 0 times 2^4 + 1 times 2^3 + 0 times 2^2 + 0 times 2^1 + 1 times 2^0 = 64 + 0 + 0 + 8 + 0 + 0 + 1 = 73
$$
(注意:原例计算结果105存在错误)
带符号整数
若最高位为1(负数),需先对二进制数取反(0变1,1变0),然后按无符号整数方法转换,最后加负号。 示例: 二进制数10000000 00010000(-32): $$ text{取反后}:01111111 11101111 text{转换为十进制}:255 - 44 = -32 $$ (原例未完整展示取反步骤) 二、小数二进制转十进制 从小数点后第一位开始,用二进制位上的数字乘以2的负n次幂(n从1开始递增),然后将所有积相加。 示例
$$
1 times 2^3 + 1 times 2^2 + 0 times 2^1 + 1 times 2^0 + 1 times 2^{-1} + 0 times 2^{-2} + 1 times 2^{-3} = 8 + 4 + 0 + 1 + 0.5 + 0 + 0.125 = 13.625
$$
总结
整数:按位权展开求和,符号位特殊处理。
小数:按位权展开求和,负指数处理小数位。
建议使用工具(如Mathtool)或编程语言内置函数进行验证。