Octal

Octal

Médio

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
Clojure Exercism

Estás pronto para começar Octal?

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