Aula 26 - Exercício Binário para decimal
Continuando a nossa série de aulas sobre vetores, vamos realizar o exercício de conversão de binário para decimal.
Dicas#
Antes de realizar o exercício, vamos entender como funciona a conversão de binário para decimal. Para começar vamos pensar no número binário 01011011
.
Binário | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
---|---|---|---|---|---|---|---|---|
Para realizar a conversão, vamos multiplicar cada número pelo seu respectivo valor de potência de 2. Para isso vamos utilizar a tabela abaixo:
Binário | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
---|---|---|---|---|---|---|---|---|
Posição | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Potência | 2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
Agora devemos somar as multiplicações das potências com os valores binários de cada posição:
Questão#
Desenvolva um programa em que o usuário irá informar um número binário e o programa deverá retornar o número decimal equivalente.
$ Digite o dígito 1: 0
$ Digite o dígito 2: 1
$ Digite o dígito 3: 0
$ Digite o dígito 4: 1
$ Digite o dígito 5: 1
$ Digite o dígito 6: 0
$ Digite o dígito 7: 1
$ Digite o dígito 8: 1
Decimal: 91
Solução#
algoritmo "binario"
var
binario: vetor[0..7] de inteiro
i, j, decimal, res: inteiro
inicio
para i de 7 ate 0 passo -1 faca
escreva("Digite o dígito ", 8 - i, ":")
leia(binario[i])
se binario[i] = 1 entao
res <- 1
para j de 1 ate i faca
res <- res * 2
fimpara
decimal <- decimal + binario[i] * res
fimse
fimpara
escreval("Decimal:", decimal)
fimalgoritmo
Aula em vídeo#
Caso prefira também existe o conteúdo em forma de vídeo
Desafios#
Caso queira treinar um pouco mais você pode ver o(s) seguinte(s) enunciado(s):