En este artículo de programación en Python te voy a enseñar cómo convertir un número decimal en base 10 a un número hexadecimal en base 16. Es el último post sobre Python y conversión de números que he venido haciendo.

En resumen te mostraré el código fuente de cómo pasar de decimal a hexadecimal en Python usando código propio, y no funciones que ya vienen dentro del lenguaje.

Algoritmo para pasar de decimal a hexadecimal

Lo que debemos hacer son divisiones mientras el número decimal sea mayor que cero. Primero obtenemos el residuo de dividir al decimal entre 16.

Una vez que tenemos el residuo (que será un valor entre 0 y 15) obtenemos su verdadero valor, pues recuerda que en hexadecimal existen las letras desde la A hasta la F, así que si el número es mayor a 9 se debe convertir a letra.

Luego, ese dígito hexadecimal es agregado al inicio de la cadena que guardará el número hexadecimal completo. Y finalmente asignamos a decimal el valor de dividirlo a sí mismo entre 16 (de este modo el ciclo se romperá en algún momento).

Por cierto, es importante convertir la división de decimal entre 16 a entero, ya que necesitamos solo valores enteros porque el residuo ya lo calculamos anteriormente.

Código de la función

Necesitamos dos funciones. Una de ellas es para obtener el verdadero valor hexadecimal, y la otra es la que realmente convierte el número decimal a hexadecimal en Python. Como sea, el código fuente de ambas se ve así:

La función de la línea 8 devuelve el verdadero carácter hexadecimal como lo expliqué anteriormente. En cambio, la de la línea 25 convierte de decimal a hexadecimal. El ciclo lo puedes ver en la línea 27.

El cálculo del residuo está en la línea 28, y la división para hacer menor a decimal está en la línea 31. En algún momento se detendrá el ciclo y se va a devolver la cadena hexadecimal.

Poniendo todo junto

El modo de uso de las funciones anteriormente expuestas queda a tu criterio, sin embargo te voy a mostrar un ejemplo simple de uso.

En este caso vamos a solicitar al usuario que ingrese un número decimal y lo vamos a convertir a hexadecimal usando esta función. El código completo queda así:

Al ejecutarlo puedo observar que los resultados son correctos:

Convertir decimal a hexadecimal en Python

Recuerda que anteriormente hice un conversor de números en JavaScript en donde puedes probar todos estos resultados.

He colocado este ejercicio en línea para que puedas ejecutarlo. También te invito a que leas más sobre Python en mi blog.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 7,384 suscriptores

parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comentarios

Deja un comentario

Marcador de posición del avatar

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

A %d blogueros les gusta esto: