二进制转换为整数的方法主要有以下两种,适用于Python 3.x环境:
一、使用 `int()` 函数(推荐)
方法一:带前缀转换 在二进制字符串前添加 `0b` 前缀,直接传递给 `int()` 函数,指定进制为2。 ```python
binary_str = '0b10110'
decimal_num = int(binary_str, 2)
print(decimal_num) 输出: 22
```
注意事项:
确保字符串仅包含 `0` 和 `1`,否则会引发错误。
方法二:不带前缀转换
使用 `int()` 函数时,将二进制字符串作为第一个参数,第二个参数指定为2。 ```python
binary_str = '10110'
decimal_num = int(binary_str, 2)
print(decimal_num) 输出: 22
```
二、手动按权展开法(通用方法)
适用于理解二进制转换原理,公式为:
$$
text{十进制数} = sum_{i=0}^{n-1} b_i times 2^i
$$
其中,$b_i$ 为二进制位(0或1),$n$ 为位数。
示例:
将二进制 `10110` 转换为十进制:
$$
1 times 2^4 + 0 times 2^3 + 1 times 2^2 + 1 times 2^1 + 0 times 2^0 = 16 + 0 + 4 + 2 + 0 = 22
$$
适用场景:适合教学或需要自定义转换逻辑的场景。
总结
推荐使用内置函数:简洁高效,代码易读,适用于实际开发。
手动计算:适合学习算法原理或处理特殊需求。