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

Registos

Registo Utilização Tipo Descrição
$a0 entrada endereço string de carateres octais terminada em null
$v0 saída inteiro valor decimal da string de entrada
$t0-9 temporário qualquer usado para armazenamento temporário
Editar via GitHub A ligação abre numa nova janela ou separador
MIPS Assembly Exercism

Estás pronto para começar Octal?

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