二进制反推十进制的方法主要有以下两种:
一、按位权展开法(核心方法)
将二进制数的每一位乘以2的对应次幂(从右往左依次为2⁰、2¹、2²等),然后将所有结果相加。 例如:二进制数 `1101` 转换为十进制:
$$
1 times 2^3 + 1 times 2^2 + 0 times 2^1 + 1 times 2^0 = 8 + 4 + 0 + 1 = 13
$$
快速记忆技巧
可以通过记忆权值表(从右往左依次为1、2、4、8、16等)加速计算,例如:
$$
10010101_2 = 1 times 128 + 0 times 64 + 0 times 32 + 1 times 16 + 0 times 8 + 4 times 1 + 0 times 0 + 1 times 1 = 149
$$
二、除2取余法(适用于十进制转二进制,但可反向理解)
步骤
将十进制数不断除以2,记录每次的余数,然后将余数从下往上倒序排列。 例如:十进制数 `37` 转换为二进制:
$$
37 div 2 = 18 text{余}1
18 div 2 = 9 text{余}0
9 div 2 = 4 text{余}1
4 div 2 = 2 text{余}0
2 div 2 = 1 text{余}0
1 div 2 = 0 text{余}1
$$
倒序排列余数得到 `100101`,即 `37_{10} = 100101_2`。
三、注意事项
位数对齐: 二进制转十进制时需注意位数对齐,例如8位二进制数需从右往左依次计算2⁰至2⁷的权值。- 负数处理