将二进制数转换为十进制数的方法如下:
一、无符号整数转换
整数部分 从右往左依次用二进制位上的数字乘以2的幂次(2⁰, 2¹, 2², …),然后将结果相加。 例如:
$$1101_2 = 1 times 2^3 + 1 times 2^2 + 0 times 2^1 + 1 times 2^0 = 8 + 4 + 0 + 1 = 13_{10}$$
补齐位数
若二进制数位数不足,需在左侧补零。例如,将4位二进制数1011转换为5位:
$$01011_2 = 1 times 2^4 + 0 times 2^3 + 1 times 2^2 + 1 times 2^1 + 1 times 2^0 = 16 + 0 + 4 + 2 + 1 = 23_{10}$$
二、带符号整数转换
符号位处理
若最高位为1(负数),需先对除符号位外的二进制数取反(0变1,1变0),然后再按无符号整数方法转换。 例如:
$$-1011_2 = - (1 times 2^3 + 0 times 2^2 + 1 times 2^1 + 1 times 2^0) = - (8 + 0 + 2 + 1) = -11_{10}$$
三、小数部分转换
小数部分
从左往右依次用二进制位上的数字乘以2的负幂次(2⁻¹, 2⁻², 2⁻³, …),然后将结果相加。 例如:
$$10.11_2 = 1 times 2^1 + 0 times 2^0 + 1 times 2^{-1} + 1 times 2^{-2} = 2 + 0 + 0.5 + 0.25 = 2.75_{10}$$
四、注意事项
按权相加法: 二进制数可表示为: $$a_n a_{n-1} dots a_1 a_0.b_1 b_2 dots b_m = sum_{i=0}^n a_i times 2^i + sum_{j=1}^m b_j times 2^{-j}$$ 其中$a_i$为整数位,$b_j$为小数位。 工具辅助
通过以上方法,可系统地将二进制数转换为十进制数,适用于整数、小数及带符号数的转换需求。