Dado un número N de base 4, la tarea es escribir un programa en Python para imprimir su equivalente binario.
Tabla de conversión:
Ejemplos:
Input : N=11002233 Output : 101000010101111 Explanation : From that conversion table we changed 1 to 01, 2 to 10 ,3 to 11 ,0 to 00.
Input : N=321321 Output: 111001111001
Acercarse:
- Tome una string vacía, diga resultstr.
- Convertimos el número decimal a string.
- Atraviesa la string y convierte cada carácter en un número entero
- Si el número entero es 1 o 0 , antes de convertirlo a binario, agregue ‘0’ a resultstr (porque no podemos tener 01,00 en números enteros)
- Ahora convierta este entero en una string binaria y concatene la string binaria resultante en resultstr.
- Convierta resultstr a entero (que elimina los ceros iniciales).
- Devolver resultadostr.
A continuación se muestra la implementación del enfoque anterior de la siguiente manera:
Python3
# function which converts decimal to binary def decToBin(num): # Using default binary conversion functions binary = bin(num) # removing first two character as the # result is always in the form 0bXXXXXXX # by taking characters after index 2 binary = binary[2:] return binary # function to convert base4 to binary def convert(num): # Taking a empty string resultstr = "" # converting number to string numstring = str(num) # Traversing string for i in numstring: # converting this character to integer i = int(i) # if i is 1 or 0 then add '0' to result # string if(i == 1 or i == 0): resultstr = resultstr+'0' # passing this integer to get converted to # binary binary = decToBin(i) # print(binary) # Concatenating this binary string to result # string resultstr = resultstr+binary # Converting resultstr to integer resultstr = int(resultstr) # Return result string return resultstr # Driver code Number = 11002233 # Passing this number to convert function print(convert(Number))
Producción:
101000010101111
Complejidad de tiempo: O(n) , Espacio auxiliar: O(1)
Aquí n es la longitud del no
Publicación traducida automáticamente
Artículo escrito por vikkycirus y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA