
时光倾城为您分享以下优质知识
二进制转换为常数(十进制)主要有以下两种方法,适用于整数和小数:
一、按位权展开法(适用于整数)
- 从右至左依次标记二进制位对应的2的幂次(2⁰, 2¹, 2², …)
- 将每一位数字与对应幂次相乘,1乘以幂次结果为该位贡献值,0则不贡献
- 将所有结果相加得到十进制常数
示例
二进制数 `1101` 转换:
[
1 times 2^3 + 1 times 2^2 + 0 times 2^1 + 1 times 2^0 = 8 + 4 + 0 + 1 = 13
]
二、双倍法(适用于整数)
方法步骤
- 从左至右依次处理二进制位
- 将当前总和乘以2,然后加上当前位的数字
- 重复此过程直到处理完所有位
示例
二进制数 `1011001` 转换:
[
begin{align*}
&0 times 2 + 1 = 1
&1 times 2 + 0 = 2
&2 times 2 + 1 = 5
&5 times 2 + 0 = 10
&10 times 2 + 1 = 21
&21 times 2 + 0 = 42
&42 times 2 + 1 = 85
end{align*}
]
结果为 `85`。
三、注意事项
负数处理:
若需转换负二进制数,需先转换为正数二进制,再按位取反加1(二补数法)
小数转换:采用乘2取整法,将小数部分乘以2,取整数部分继续运算,直到小数部分为0或达到精度要求