二进制转化为十进制python代码

要将二进制数转换为十进制数,你可以使用Python的内置函数int()。以下是一个简单的函数,该函数接受一个二进制字符串作为输入,并返回其十进制表示:

python复制代码
def binary_to_decimal(binary):
return int(binary, 2)
# 使用示例
binary_num = "1101"
decimal_num = binary_to_decimal(binary_num)
print(decimal_num) # 输出:13

在这个函数中,int()函数的第二个参数是基数,它告诉Python你正在将哪种基数的数字转换为十进制。在这种情况下,基数是2,因为我们正在处理二进制数。

除了上述的简单函数之外,如果你想要手动实现二进制到十进制的转换过程,也可以编写一个循环来逐个处理二进制数中的每一位。下面是一个手动实现的例子:

python复制代码
def binary_to_decimal_manual(binary):
decimal = 0
power = len(binary) - 1
for digit in binary:
decimal += int(digit) * (2 ** power)
power -= 1
return decimal
# 使用示例
binary_num = "1101"
decimal_num = binary_to_decimal_manual(binary_num)
print(decimal_num) # 输出:13

在这个函数中,我们初始化一个decimal变量为0,它将用来存储最终的十进制数。然后,我们获取二进制字符串的长度,并计算最高位的2的幂次(即2 ** (len(binary) - 1))。接下来,我们遍历二进制字符串中的每一位,将其转换为整数,并乘以相应的2的幂次,然后将结果累加到decimal变量中。每次循环后,幂次减1,以便处理下一位。最后,函数返回计算得到的十进制数。

这种方法虽然比使用int()函数更复杂,但它提供了对二进制到十进制转换过程的深入理解。在实际应用中,通常推荐使用内置的int()函数,因为它更加简洁且效率高。