如何在 Python 中将二进制数转换为十进制数?

2024 年 8 月 29 日 | 阅读 3 分钟

二进制基数为 2 的数字系统,这意味着它只使用两个数字 - 01。另一方面,十进制基数为 10 的数字系统,这意味着它使用十个数字 - 09

要在 Python 中将二进制数转换为十进制数,我们需要遵循几个简单的步骤

步骤 1:获取二进制数

第一步是获取我们想要转换的二进制数。我们可以在 Python 中使用前缀 '0b' 后跟二进制数字来表示二进制数。例如,二进制数 1011 在 Python 中可以表示为 '0b1011'

步骤 2:将二进制数转换为十进制数

要将二进制数转换为十进制数,我们需要将每个二进制数字乘以相应的 2 的幂,然后结果相加。最右边的数字的幂是 2^0,下一个数字的幂是 2^1,再下一个数字的幂是 2^2,依此类推。

例如

如果我们想将二进制数 '0b1011' 转换为十进制数,我们将遵循以下步骤

  1. 最右边的数字是 1,所以我们将 1 * 2^0 = 1 加到总数中。
  2. 下一个数字是 1,所以我们将 1 * 2^1 = 2 加到总数中。
  3. 下一个数字是 0,所以我们不将任何内容添加到总数中。
  4. 最左边的数字是 1,所以我们将 1 * 2^3 = 8 加到总数中。

将这些结果相加得到总和 1 + 2 + 0 + 8 = 11。因此,二进制数 '0b1011' 等同于十进制数 11

步骤 3:输出十进制数

最后一步是输出我们在步骤 2 中获得的十进制数。我们可以使用内置的 Python 函数 int() 来完成此操作,该函数将字符串或数字转换为整数。我们只需将二进制数作为字符串传递给 int() 函数,并将参数 2 传递给它,以表明该数字是 基数为 2(二进制)格式。

示例 1

输出

11

此代码段首先将二进制数 '0b1011' 分配给变量 binary_number。之后,它使用 int() 函数将二进制数转换为十进制数,并将结果分配给变量 decimal_number。最后,它使用 print() 函数打印出十进制数。

示例 2

另一种在 Python 中将二进制数转换为十进制数的方法

输出

11

示例 3

另一种将二进制转换为十进制的方法是使用 functools 模块中的内置 reduce() 函数。

输出

Enter a binary number: 100
Decimal equivalent of 100 is 4

示例 4

另一种使用内置 int() 函数和按位移位运算符的方法

输出

Enter a binary number: 1000
Decimal equivalent of 1000 is 8.