Octal

Octal

Fácil

Instruções

Converte um número octal, representado como uma string (por exemplo, '1735263'), no seu equivalente decimal partindo dos princípios básicos (ou seja, não, não podes usar bibliotecas internas nem externas para fazer a conversão).

Implementa a conversão de octal para decimal. Dada uma string que representa um número octal, o teu programa deve produzir uma saída decimal.

Nota

  • Implementa a conversão tu mesmo. Não uses outra coisa qualquer para fazer a conversão por ti.
  • Trata qualquer valor inválido como octal 0.

Sobre o sistema octal (base 8)

O sistema decimal é um sistema de base 10.

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

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

Assim:

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

O sistema octal é semelhante, 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 A ligação abre numa nova janela ou separador
Scheme Exercism

Estás pronto para começar Octal?

Inscreve-te no Exercism para aprenderes e dominares Scheme com 39 exercícios, e mentoria humana real, tudo grátis.