Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created December 9, 2020 05:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/2f36fe8d718f9f6bbc0c535f763cbb3c to your computer and use it in GitHub Desktop.
Save parzibyte/2f36fe8d718f9f6bbc0c535f763cbb3c to your computer and use it in GitHub Desktop.
"""
https://parzibyte.me/blog
"""
def octal_a_decimal(octal):
print(f"Convirtiendo el octal {octal}...")
decimal = 0
posicion = 0
# Invertir octal, porque debemos recorrerlo de derecha a izquierda
# pero for in empieza de izquierda a derecha
octal = octal[::-1]
for digito in octal:
print(f"El número decimal es {decimal}")
valor_entero = int(digito)
numero_elevado = int(8 ** posicion)
equivalencia = int(numero_elevado * valor_entero)
print(
f"Elevamos el 8 a la potencia {posicion} (el resultado es {numero_elevado}) y multiplicamos por el carácter actual: {valor_entero}")
decimal += equivalencia
print(f"Sumamos {equivalencia} a decimal. Ahora es {decimal}")
posicion += 1
return decimal
octal = input("Ingresa un número octal: ")
decimal = octal_a_decimal(octal)
print(f"El octal {octal} es {decimal} en decimal")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment