Saltar al contenido

Convertir de hexadecimal a binario sin perder python de 0 a la izquierda

Agradecemos tu apoyo para difundir nuestros ensayos referente a las ciencias de la computación.

Solución:

No creo que haya una manera de mantener esos ceros iniciales de forma predeterminada.

Cada dígito hexadecimal se traduce en 4 dígitos binarios, por lo que la longitud del nuevo string debe ser exactamente 4 veces el tamaño del original.

h_size = len(h) * 4

Entonces, puedes usar .zfill para rellenar ceros al tamaño que desee:

h = ( bin(int(h, 16))[2:] ).zfill(h_size)

En realidad, esto es bastante fácil en Python, ya que no tiene ningún límite en el tamaño de los números enteros. Simplemente anteponga un '1' al maleficio string, y pelar el correspondiente '1' de la salida.

>>> h = '00112233aabbccddee'
>>> bin(int(h, 16))[2:]  # old way
'1000100100010001100111010101010111011110011001101110111101110'
>>> bin(int('1'+h, 16))[3:]  # new way
'000000000001000100100010001100111010101010111011110011001101110111101110'

Básicamente lo mismo pero relleno a 4 dígitos binarios cada dígito hexadecimal

''.join(bin(int(c, 16))[2:].zfill(4) for c in h)

Reseñas y calificaciones de la guía

Finalizando este artículo puedes encontrar las crónicas de otros usuarios, tú todavía tienes el poder mostrar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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