Python 中的二进制列表转换为整数

pythonserver side programmingprogramming

我们可以使用各种方法将表示二进制数的 0 和 1 列表转换为 Python 中的十进制数。在下面的示例中,我们使用 int() 方法以及按位左移运算符。

使用 int()

int() 方法接受两个参数并根据以下语法更改输入的基数。

int(x, base=10)
返回由数字或字符串 x 构造的整数对象。

在下面的例子中,我们使用 int() 方法将列表中的每个元素作为字符串,并将它们连接起来形成最终字符串,该字符串将转换为以 10 为基数的整数。

示例

List = [0, 1, 0, 1, 0, 1]
print ("The List is : " + str(List))
# 二进制列表到整数的转换
result = int("".join(str(i) for i in List),2)
#结果
print ("The value is : " + str(result))

运行上述代码得到以下结果 −

List is : [1, 1, 0, 1, 0, 1]
The value is : 53

使用按位左移运算符

按位左移运算符将给定的数字列表转换为整数,然后将零添加到二进制形式。然后使用按位或将结果添加到此结果中。我们使用 for 循环遍历列表中的每个数字。

示例

List = [1, 0, 0, 1, 1, 0]
print ("The values in list is:" + str(List))

# 二进制列表到整数的转换
result = 0
for digits in List:
result = (result << 1) | digits

# 结果
print ("The value is : " + str(result))

运行上述代码得到以下结果 −

The values in list is : [1, 0, 0, 1, 1, 0]
The value is : 38

相关文章