二进制列表到Python中的整数

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

使用 int()

INT()方法需要两个参数,并且改变输入的基部按下面的语法。

int(x, base=10)
Return an integer object constructed from a number or string x.

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

示例

List = [0, 1, 0, 1, 0, 1]
print ("The List is : " + str(List))
# binary list to integer conversion
result = int("".join(str(i) for i in List),2)
# result
print ("The value is : " + str(result))

运行上面的代码给我们以下结果-

The 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))

# binary list to integer conversion
result = 0
for digits in List:
result = (result << 1) | digits

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

运行上面的代码给我们以下结果-

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