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