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

python
def binary_to_decimal(binary_str): decimal = 0 power = len(binary_str) - 1 for digit in binary_str: decimal += int(digit) * (2 ** power) power -= 1 return decimal # 测试示例 binary_number = input("请输入一个二进制数: ") decimal_number = binary_to_decimal(binary_number) print("十进制数为:", decimal_number)

这段代码首先定义了一个函数 binary_to_decimal,该函数接受一个表示二进制数的字符串,并返回其对应的十进制数。

然后,在测试部分,用户被提示输入一个二进制数。程序将该二进制数传递给 binary_to_decimal 函数,并打印出转换后的十进制数。

上述代码演示了将二进制数转换为十进制数的基本方法。让我们来解释一下代码的工作原理:

binary_to_decimal 函数接受一个二进制数的字符串作为参数。decimal 变量被初始化为 0,它将保存最终的十进制结果。power 变量被初始化为二进制字符串的长度减去 1。它表示当前处理的二进制位的权重。然后,通过迭代二进制字符串中的每个数字,从最高位到最低位,计算其对应的十进制值。对于每个二进制位,将其转换为整数,然后乘以 2 的当前权重次方,并将结果累加到 decimal 变量中。最后,返回计算出的十进制数值。

你可以通过运行代码并输入不同的二进制数来测试它的准确性和功能性。