Octal

Octal

Fácil

Instruções

Converta um número octal, representado como uma string (por exemplo, '1735263'), para o seu equivalente decimal usando os princípios básicos (ou seja, não, você não pode usar bibliotecas internas ou externas para fazer a conversão).

Implemente a conversão de octal para decimal. Dada uma string de entrada em octal, seu programa deve produzir uma saída decimal.

Observação

  • Implemente a conversão por conta própria. Não use outra coisa para fazer a conversão no seu lugar.
  • Considere uma entrada inválida como o octal 0.

Sobre o octal (base 8)

O decimal é um sistema de base 10.

Um número como 233 na notação de base 10 pode ser entendido como uma combinação linear de potências de 10:

  • O dígito mais à direita é multiplicado por 10^0 = 1
  • O dígito seguinte é multiplicado por 10^1 = 10
  • ...
  • O enésimo dígito é multiplicado por 10^(n-1).
  • Todos esses valores são somados.

Assim:

   233 # decimal
 = 2*10^2 + 3*10^1 + 3*10^0
 = 2*100  + 3*10   + 3*1

O octal é parecido, mas usa potências de 8 em vez de potências de 10.

Assim:

   233 # octal
 = 2*8^2 + 3*8^1 + 3*8^0
 = 2*64  + 3*8   + 3*1
 = 128   + 24    + 3
 = 155
Editar via GitHub O link abre em uma nova janela ou aba
Scheme Exercism

Tudo pronto para começar Octal?

Crie sua conta no Exercism para aprender e dominar Scheme com 39 exercícios e mentoria humana de verdade, tudo de graça.