
智启星辰为您分享以下优质知识
在Python中,将二进制转换为十进制可以通过以下两种方法实现:
一、使用内置函数 `int()`
Python提供了内置函数 `int()` 来支持不同进制之间的转换。对于二进制转十进制,可以使用以下两种方式:
使用 `int()` 函数时,将二进制字符串作为参数,并指定基数为2:
```python
binary_str = "101010"
decimal_num = int(binary_str, 2)
print(f"二进制 {binary_str} 转十进制为: {decimal_num}")
```
输出结果为:
```
二进制 101010 转十进制为: 42
```
位运算转换
通过位运算实现转换,将二进制字符串转换为整数:
```python
binary_str = "101010"
decimal_num = 0
for i in range(len(binary_str)):
decimal_num += int(binary_str[i]) * (2 (len(binary_str) - i - 1))
print(f"二进制 {binary_str} 转十进制为: {decimal_num}")
```
输出结果同样为:
```
二进制 101010 转十进制为: 42
```
二、手动计算(按权展开)
二进制转十进制的核心思想是按权展开。对于二进制数 `101010`,其转换过程如下:
$$
1 times 2^5 + 0 times 2^4 + 1 times 2^3 + 0 times 2^2 + 1 times 2^1 + 0 times 2^0 = 32 + 0 + 8 + 0 + 2 + 0 = 42
$$
Python代码实现:
```python
binary_str = "101010"
decimal_num = 0
for i in range(len(binary_str)):
decimal_num += int(binary_str[i]) * (2 (len(binary_str) - i - 1))
print(f"二进制 {binary_str} 转十进制为: {decimal_num}")
```
三、注意事项
输入要求:
`int()` 函数要求输入为字符串形式,且需指定基数(如2表示二进制)。
转换结果为整数类型,若需保留小数部分,需使用浮点数类型(如 `float()`)。
通过以上方法,可以灵活实现二进制与十进制之间的转换。