Python: Cómo convertir cualquier número a otra base (binario, octal, hexadecimal)

DJC > Tutoriales

| Python | Programación |

imagen

En este tutorial aprenderás cómo convertir números entre diferentes bases en Python, incluyendo binario, octal y hexadecimal. Aprenderás a usar funciones incorporadas de Python, así como técnicas para crear tus propias conversiones personalizadas.

Al finalizar, podrás convertir cualquier número a la base que necesites y manejar representaciones numéricas de manera eficiente en tus programas.


Convertir números a binario, octal y hexadecimal

Python incluye funciones nativas para convertir números enteros a diferentes bases:

numero = 42

# Binario
binario = bin(numero)
print(binario)  # Salida: 0b101010

# Octal
octal = oct(numero)
print(octal)    # Salida: 0o52

# Hexadecimal
hexadecimal = hex(numero)
print(hexadecimal)  # Salida: 0x2a

Las funciones bin(), oct() y hex() devuelven strings con prefijos que indican la base (0b, 0o, 0x).


Convertir a cualquier base personalizada

Si deseas convertir un número a cualquier base entre 2 y 36, puedes usar una función personalizada:

def convertir_base(numero, base):
    digitos = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    if numero < base:
        return digitos[numero]
    else:
        return convertir_base(numero // base, base) + digitos[numero % base]

# Ejemplo
print(convertir_base(255, 2))   # 11111111
print(convertir_base(255, 16))  # FF
print(convertir_base(255, 8))   # 377

Esta función permite representar un número en cualquier base hasta 36, usando dígitos y letras.


Convertir de otra base a decimal

Para convertir números de cualquier base a decimal, puedes usar la función int() de Python:

# De binario a decimal
print(int("1010", 2))   # 10

# De octal a decimal
print(int("52", 8))     # 42

# De hexadecimal a decimal
print(int("2A", 16))    # 42

La función int(string, base) interpreta el string según la base indicada y devuelve un número decimal.


Con estas herramientas puedes:

  • Convertir enteros de decimal a binario, octal o hexadecimal.
  • Convertir números a cualquier base personalizada usando recursión.
  • Convertir números desde cualquier base a decimal para cálculos y procesamiento.

Estas técnicas son útiles para programación de bajo nivel, criptografía, procesamiento de datos y tareas donde la representación numérica importa.


DJC > Tutoriales