Chúng tôi có thể chuyển đổi danh sách các số 0 và 1 biểu thị số nhị phân thành số thập phân trong python bằng nhiều cách tiếp cận khác nhau. Trong các ví dụ dưới đây, chúng tôi sử dụng phương thức int () cũng như toán tử dịch trái bitwise.
Sử dụng int ()
int () phương thức nhận vào hai đối số và thay đổi cơ sở của đầu vào theo cú pháp bên dưới.
int(x, base=10) Return an integer object constructed from a number or string x.
Trong ví dụ dưới đây, chúng tôi sử dụng phương thức int () để lấy từng phần tử của danh sách dưới dạng một chuỗi và nối chúng để tạo thành một chuỗi cuối cùng được chuyển đổi thành số nguyên với cơ số 10.
Ví dụ
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))
Chạy đoạn mã trên cho chúng ta kết quả sau -
The List is : [1, 1, 0, 1, 0, 1] The value is : 53
Sử dụng Toán tử Shift Left Bitwise
Toán tử dịch chuyển trái theo chiều bit chuyển đổi danh sách các chữ số đã cho thành số nguyên sau khi thêm vào các số không ở dạng nhị phân. Sau đó, bitwise hoặc được sử dụng để thêm vào kết quả này. Chúng tôi sử dụng vòng lặp for để lặp lại từng chữ số trong danh sách.
Ví dụ
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))
Chạy đoạn mã trên cho chúng ta kết quả sau -
The values in list is : [1, 0, 0, 1, 1, 0] The value is : 38