📜  如何在 python 中从 base 2 转换为 base 10(1)

📅  最后修改于: 2023-12-03 15:38:23.453000             🧑  作者: Mango

如何在 Python 中从 base 2 转换为 base 10

在计算机科学中,二进制是一种用于计算的数字系统,其中数字由 2 个数码 0 和 1 组成。在 Python 中,我们可以通过以下方法将一个二进制数转换为十进制数。

方法 1:使用 int() 函数

Python 的内置函数 int() 可以将一个字符串或数字转换为整数。我们可以使用 int() 函数将一个二进制字符串转换为十进制数。示例代码如下:

binary_num = "1010"
decimal_num = int(binary_num, 2)
print(decimal_num)

输出结果为:

10

int() 函数的第二个参数是进制数,如果没有指定则默认为十进制。因此,我们需要在这个函数的第二个参数中指定 2,以便将二进制字符串转换为十进制数。

方法 2:手动计算

由于二进制是一种基数为 2 的数字系统,因此我们可以使用每个数字的指数来计算它们的值。例如,我们可以将二进制数 1010 转换为十进制数如下:

1 x 2^3 + 0 x 2^2 + 1 x 2^1 + 0 x 2^0
= 8 + 0 + 2 + 0
= 10

在 Python 中,我们可以使用循环结构实现这个计算过程。示例代码如下:

binary_num = "1010"
decimal_num = 0
for i in range(len(binary_num)):
    decimal_num += int(binary_num[i]) * 2**(len(binary_num)-i-1)
print(decimal_num)

输出结果为:

10

在这个示例中,我们首先初始化一个变量 decimal_num 为 0。然后我们使用 for 循环迭代二进制数中的每个数字。在每次迭代时,我们将当前数字乘以 2 的指数,并将该结果添加到 decimal_num 中。当循环结束时,我们将得到一个十进制数。