¿Cómo funciona hex() en Python? Convierte números a hexadecimal sin esfuerzo

| Última modificación: 11 de diciembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos.:

Premios KeepCoding

Todos sabemos que trabajar en programación con códigos de numeración es muy importante y recurrente, en especial cuando trabajamos en áreas como redes, criptografía y manejo de datos binarios. En este saber, Python tiene una opción denominada hex(), que convierte números enteros a su equivalente en hexadecimal. Veamos cómo funciona esta herramienta y cómo usarla en el contexto de Python.

hex() en Python

¿Qué es hex() en Python?

Hex() es una función que tiene la capacidad de convertir un número entero en su equivalente en base 16, es decir, hexadecimal, y devolviéndolo en una cadena de texto. Este resultado siempre va a incluir el prefijo 0x, que nos inidica que el número está en formato hexadecimal.

El prefijo 0x indica que el número está en formato hexadecimal.

¿Cómo se utiliza hex()?

El uso de hex() es muy directo. Su sintaxis funciona así:

hex(numero)

El argumento tiene que corresponder a un número entero o a un objeto que implemente un método especial index(), que debe devolver un valor entero. Si intentas usar el hex con un número no entero, que no cumpla dicha condición, Python de forma automática generará un error. Veamos un ejemplo:

El argumento debe ser un número entero o un objeto que implemente el método especial index(), que debe devolver un valor entero.

Por ejemplo:

numero = 435
print(hex(numero))

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

El resultado será:

0x1b3

Esto indica que el número 435 en base 10 equivale a 1b3 en hexadecimal.

Si intentas usar hex() con un número no entero que no cumpla esta condición, Python generará un error.

¿Qué puedes hacer con hex()?

Con esta herramienta tienes una amplia gama de opciones, veamos algunas:

  • Conversión de números enteros a hexadecimal: hex funciona tanto con números positivos como con números negativos, además de funcionar con el valor cero. Veamos unos ejemplos simples:
# Número positivo
print(hex(435)) # Salida: 0x1b3

# Número negativo
print(hex(-34)) # Salida: -0x22

# Cero
print(hex(0)) # Salida: 0x0

En todos estos casos, la función devuelve una cadena de texto que incluye el prefijo 0x.

  • El tipo de dato que devuelve hex(): El valor que devuelve hex siempre va a ser una cadena de texto. Es decir, puedes manipular estos valores como cualquier otro string en Python, así:
numero = 435
resultado = hex(numero)
print(f"El tipo de dato es: {type(resultado)}")

La salida será:

El tipo de dato es: <class 'str'>
  • Uso de hex() con objetos personalizados: en otros escenarios más avanzados, es posible usar hex() con objetos personalizados, siempre y cuando estos implementen el método especial index, del que hablamos más arriba. Este método sirve para devolver un entero que hex pueda convertir. Tenemos como ejemplo:
class Cantidad:
def __init__(self, valor):
self.valor = valor

def __index__(self):
return self.valor

cantidad = Cantidad(100)
print(hex(cantidad))

El resultado será:

0x64

Esto demuestra que la función es flexible y puede integrarse fácilmente en clases personalizadas.

  • Representación hexadecimal de números decimales: Si bien hex() está diseñada para trabajar con números enteros, es posible representar números flotantes en hexadecimal por medio del método float.hex(), el cual convierte los valores decimales en una representación hexadecimal que incluya información sobre el exponente en binario. Como siempre, para entender, veams un ejemplo:
numero = 2.5
print(float.hex(numero))

La salida será:

0x1.4000000000000p+1

Este formato es útil en casos específicos, como cálculos numéricos de bajo nivel.

Además, su implementación directa y sencilla hace que sea una herramienta ideal para aprender los fundamentos del sistema hexadecimal.

Si quieres seguir aprendiendo sobre diferentes temáticas relacionadas con la programación, no dudes en unirte a nuestro bootcamp en programación inicial, con el cual aprenderás a programar en poco tiempo y esto te ayudará a conseguir ese empleo que tanto deseas. ¡Inscríbete ahora y conviértete en el profesional que siempre soñaste ser!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a programar desde cero

Full Stack JR. Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado