二进制转换为十进制函数
时间: 2023-09-26 18:11:28 浏览: 56
下面是一个将二进制转换为十进制的函数示例,使用循环和位运算来计算二进制数的十进制值:
```python
def binary_to_decimal(binary):
decimal = 0
power = 0
while binary > 0:
decimal += (binary & 1) * 2 ** power
binary >>= 1
power += 1
return decimal
```
这个函数接受一个二进制数作为参数,使用一个变量 `decimal` 来存储最终的十进制值,使用另一个变量 `power` 来跟踪当前位数。在循环中,我们首先通过 `&` 运算符获取二进制数的最后一位,然后将其乘以相应的权重值($2^0$,$2^1$,$2^2$,等等)。我们将 `decimal` 增加该值,并将二进制数向右移位,以便在下一次迭代中处理下一位。最后,我们返回计算的十进制值。
示例用法:
```python
binary_num = 101101
decimal_num = binary_to_decimal(binary_num)
print(decimal_num) # 输出:45
```
这个函数也可以使用内置的 `int()` 函数来实现二进制转换:
```python
def binary_to_decimal(binary):
return int(str(binary), 2)
```
这个函数将二进制数转换为字符串,然后使用 `int()` 函数将其转换为十进制数。`int()` 函数的第二个参数指定输入字符串的基数,这里设置为 2 表示输入字符串是二进制数。