Convertis un nombre trinaire, représenté par une string (par exemple '102012'), en son équivalent décimal, en partant des principes de base.
Le programme doit considérer les strings qui décrivent un nombre trinaire invalide comme valant 0.
Les nombres trinaires contiennent trois symboles : 0, 1 et 2.
Le dernier rang d'un nombre trinaire est celui des unités. L'avant-dernier est celui des 3, l'antépénultième celui des 9, etc.
# "102012"
1 0 2 0 1 2 # the number
1*3^5 + 0*3^4 + 2*3^3 + 0*3^2 + 1*3^1 + 2*3^0 # the value
243 + 0 + 54 + 0 + 3 + 2 = 302
Si ton langage fournit une méthode dans la bibliothèque standard pour effectuer la conversion, fais comme si elle n'existait pas et implémente-la toi-même.
| Registre | Utilisation | Type | Description |
|---|---|---|---|
$a0 |
entrée | adresse | string de caractères trinaires terminée par un caractère nul |
$v0 |
sortie | entier | valeur décimale de la string d'entrée |
$t0-9 |
temporaire | quelconque | utilisé pour le stockage temporaire |
Inscris-toi sur Exercism pour apprendre et maîtriser MIPS Assembly avec 70 exercices, et un vrai mentorat humain, le tout gratuitement.