Octal

Octal

Facile

Instructions

Convertis un nombre octal, représenté sous forme de string (par exemple '1735263'), en son équivalent décimal en partant des principes de base (autrement dit, non, tu n'as pas le droit d'utiliser des bibliothèques intégrées ou externes pour effectuer la conversion).

Implémente la conversion d'octal en décimal. Étant donné une string en entrée au format octal, ton programme doit produire une sortie décimale.

Note

  • Implémente la conversion toi-même. N'utilise pas autre chose pour faire la conversion à ta place.
  • Traite une entrée invalide comme l'octal 0.

À propos de l'octal (base 8)

Le décimal est un système en base 10.

Un nombre 233 en notation de base 10 peut se comprendre comme une combinaison linéaire des puissances de 10 :

  • Le chiffre le plus à droite est multiplié par 10^0 = 1
  • Le chiffre suivant est multiplié par 10^1 = 10
  • ...
  • Le n-ième chiffre est multiplié par 10^(n-1).
  • Toutes ces valeurs sont additionnées.

Donc :

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

L'octal est similaire, mais utilise les puissances de 8 plutôt que les puissances de 10.

Donc :

   233 # octal
 = 2*8^2 + 3*8^1 + 3*8^0
 = 2*64  + 3*8   + 3*1
 = 128   + 24    + 3
 = 155

Registres

Registre Utilisation Type Description
$a0 entrée adresse string terminée par un caractère nul, composée de caractères octaux
$v0 sortie entier valeur décimale de la string d'entrée
$t0-9 temporaire quelconque utilisé pour un stockage temporaire
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
MIPS Assembly Exercism

Prêt à commencer Octal ?

Inscris-toi sur Exercism pour apprendre et maîtriser MIPS Assembly avec 70 exercices, et un vrai mentorat humain, le tout gratuitement.