Python 中的二進位制列表轉換為整數


我們可以使用多種方法將表示二進位制數的 0 和 1 列表轉換為 Python 中的十進位制數。在下面的示例中,我們使用了 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

更新於: 2019-12-19

2K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.