Python – Convertir tupla binaria a entero

Dada la tupla binaria que representa la representación binaria del número, convertir a entero.

Entrada : test_tup = (1, 1, 0)
Salida : 6
Explicación : 4 + 2 = 6.

Entrada : test_tup = (1, 1, 1)
Salida : 7
Explicación : 4 + 2 + 1 = 7.

Método #1: Usar join() + comprensión de lista + int()

En esto, concatenamos las tuplas binarias en formato de string usando join() y str(), luego convertimos a entero mencionando la base como 2.

Python3

# Python3 code to demonstrate working of 
# Convert Binary tuple to Integer
# Using join() + list comprehension + int()
  
# initializing tuple
test_tup = (1, 1, 0, 1, 0, 0, 1)
  
# printing original tuple
print("The original tuple is : " + str(test_tup))
  
# using int() with base to get actual number
res = int("".join(str(ele) for ele in test_tup), 2) 
  
# printing result 
print("Decimal number is : " + str(res)) 
Producción

The original tuple is : (1, 1, 0, 1, 0, 0, 1)
Decimal number is : 105

Método n.º 2: usar el desplazamiento de bits y | operador

En esto, realizamos un desplazamiento de bit a la izquierda y usamos el operador u para obtener la suma binaria y, por lo tanto, calcular el resultado.

Python3

# Python3 code to demonstrate working of 
# Convert Binary tuple to Integer
# Using bit shift and | operator
  
# initializing tuple
test_tup = (1, 1, 0, 1, 0, 0, 1)
  
# printing original tuple
print("The original tuple is : " + str(test_tup))
  
  
res = 0
for ele in test_tup: 
      
    # left bit shift and or operator 
    # for intermediate addition
    res = (res << 1) | ele 
  
# printing result 
print("Decimal number is : " + str(res)) 
Producción

The original tuple is : (1, 1, 0, 1, 0, 0, 1)
Decimal number is : 105

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *