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

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()yhex()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.