Python: convertir decimal a binario

Anteriormente en mi blog te mostré cómo convertir un número binario a decimal usando Python, ahora te mostraré lo contario: cómo convertir un número decimal a binario.

Es decir, resolver un ejercicio de programación en Python para realizar una función que convierte de decimal (base 10) a binario (base 2) usando código definido por nosotros, y no funciones del propio lenguaje.

De este modo podrás ver cómo es el algoritmo para convertir de base 10 a base 2 en Python. Por ejemplo, convertir el número 19 a 10011.

Explicación del algoritmo

Vamos a realizar la conversión tal como la haríamos a mano, en una hoja de papel con un lápiz. Básicamente es dividir el número decimal entre 2 e ir sacando el residuo, que siempre será 1 o 0.

Ese residuo lo vamos a ir agregando o concatenando al inicio de una cadena (que va a tener el resultado) y repetiremos este proceso mientras el decimal sea mayor a 0.

Recuerda que en algún momento, el decimal llegará a ser 0, pues lo vamos a ir dividiendo entre 2.

Aquí está un ejemplo de cómo trabaja el algoritmo:

Obviamente si es otro número mayor, el proceso va a ser más largo.

Código fuente

Una vez que he explicado el algoritmo, veamos el código fuente en lenguaje Python:

El ciclo while del que hablaba está en la línea 12. También es importante notar que el número binario (0 o 1) se va agregando al inicio de la cadena en la línea 18.

Por cierto, recuerda que necesitamos convertir los resultados de las divisiones a enteros, por ello el uso de int. También estamos convirtiendo a cadena en la línea 18 con str.

Poniendo todo junto

Al ejecutarlo y probarlo con mi conversor de números online, el resultado es correcto. Estamos convirtiendo de decimal a binario usando Python:

Convertir decimal a binario en Python

Tú también puedes probar el ejercicio en línea en este enlace. Igualmente puedes leer más sobre Python en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario