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.