Python: convertir octal a decimal

Siguiendo con los tutoriales de conversiones numéricas en Python, hoy toca el turno de convertir un número octal a uno decimal.

Dicho con otras palabras vamos a usar Python para hacer la conversión numérica de base 8 a base 10.

Lo haremos con funciones propias, es decir, será nuestro código y no una función que ya incluya el lenguaje.

Explicación del algoritmo

Al igual que cuando convertimos de binario a decimal, básicamente es recorrer la cadena octal y elevar el número de la base (8 en este caso) a la posición en la que vayamos.

Es decir, al recorrer la cadena y estar en el primer carácter vamos a elevar a la posición 0; en el segundo carácter vamos a elevar a la 1, y así hasta terminar.

Este resultado lo vamos a multiplicar por el carácter actual como entero y finalmente lo que resulte se lo agregamos al valor decimal que vamos a regresar al terminar de recorrer la cadena octal.

Por cierto, en este caso necesitamos recorrer la cadena de derecha a izquierda, así que para hacerlo fácil simplemente invertimos la cadena antes de recorrerla. Para que entiendas mejor la ejecución, te dejo un ejemplo de lo que el programa hace:

Para este caso he convertido el número octal 5373 a decimal. Ahora que he explicado el funcionamiento del algoritmo, veamos el código fuente.

Código fuente Python – Conversión octal a decimal

Veamos el código fuente. En este caso lo importante es la función, ya que puedes invocarla desde cualquier lugar enviándole los argumentos desde cualquier parte.

Por ejemplo, yo he solicitado al usuario que ingrese el número octal usando el teclado, pero puedes usarla de la manera que quieras.

Al ejecutarlo, el resultado es correcto. Lo he comprobado con mi conversor de bases numéricas:

Python – Convertir octal a decimal – Ejemplo de código

Puedes probar el ejercicio de Python en este enlace. Por cierto, como una característica adicional al programa se debería revisar que todos los caracteres sean menores que 8, pues recuerda que el octal solo contempla desde el 0 hasta el 7.

Te dejo con más tutoriales sobre Python en el blog de Parzibyte.

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