首页  > 教育解读  > python二进制怎么变成十进制

python二进制怎么变成十进制

2025-05-06 20:15:45
智启星辰‌
智启星辰‌已认证

智启星辰‌为您分享以下优质知识

在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()`)。

通过以上方法,可以灵活实现二进制与十进制之间的转换。