Converte um número binário, representado como uma string (por exemplo, '101010'), no seu equivalente decimal, a partir dos princípios fundamentais.
Implementa a conversão de binário para decimal. Dada uma string binária de entrada, o teu programa deve produzir um resultado decimal. O programa deve lidar com entradas inválidas.
O decimal é um sistema de base 10.
Um número 23 em notação de base 10 pode ser entendido como uma combinação linear de potências de 10:
Assim: 23 => 2*10^1 + 3*10^0 => 2*10 + 3*1 = 23 base 10
O binário é semelhante, mas usa potências de 2 em vez de potências de 10.
Assim: 101 => 1*2^2 + 0*2^1 + 1*2^0 => 1*4 + 0*2 + 1*1 => 4 + 1 => 5 base 10.
| Registo | Utilização | Tipo | Descrição |
|---|---|---|---|
$a0 |
valor de entrada | endereço | string terminada em null com carateres binários |
$v0 |
valor de saída | inteiro | valor decimal da string de entrada |
$t0-9 |
temporário | qualquer | usado para armazenamento temporário |
Inscreve-te no Exercism para aprenderes e dominares MIPS Assembly com 70 exercícios, e mentoria humana real, tudo grátis.