programa pilas para numeros hexadecimal enteros convertir conversion con binarios binario algoritmo python binary integer

pilas - Conversión de entero a binario en python



decimal a binario con pilas (6)

.. o si no está seguro de que siempre debe tener 8 dígitos, puede pasarlo como un parámetro:

>>> ''%0*d'' % (8, int(bin(6)[2:])) ''00000110''

Para convertir un entero a un binario, he usado este código:

>>> bin(6) ''0b110''

y cuando borrar el ''0b'', uso esto:

>>> bin(6)[2:] ''110''

¿Qué puedo hacer si quiero mostrar 6 como 00000110 lugar de 110 ?


La respuesta de eumiro es mejor, sin embargo, solo estoy publicando esto por variedad:

>>> "%08d" % int(bin(6)[2:]) 00000110


Solo otra idea:

>>> bin(6)[2:].zfill(8) ''00000110''

Forma más corta a través de la interpolación de cadenas ( Python 3.6+ ):

>>> f''{6:08b}'' ''00000110''


Solo usa la función de formateo

format(6, "08b")

La forma general es

format(<the_integer>, "<0><width_of_string><format_specifier>")


Un método un poco juguetón ...

>>> bin8 = lambda x : ''''.join(reversed( [str((x >> i) & 1) for i in range(8)] ) ) >>> bin8(6) ''00000110'' >>> bin8(-3) ''11111101''


>>> ''{0:08b}''.format(6) ''00000110''

Solo para explicar las partes de la cadena de formato:

  • {} coloca una variable en una cadena
  • 0 toma la variable en la posición de argumento 0
  • : agrega opciones de formato para esta variable (de lo contrario, representaría el decimal 6 )
  • 08 formatea el número a ocho dígitos cero rellenos a la izquierda
  • b convierte el número a su representación binaria