Binário, o retorno, ou como converter de binário para decimal

Computação
Binário, o retorno, ou como converter de binário para decimal
Lucas Virgili
em 14 de Abril de 2014

Cenas do último episódio

No meu último post, expliquei como funcionam as bases 2 e 10. Se você ainda não leu, vou dar um tempo para você ler.

Convertendo de base 2 para base 10

Como eu sou um excelente professor, você já sabe converter de base 2 para base 10! (Assumindo que você fez os exercícios :P)

Você não percebeu? Mas você já sabe! Vamos revisar o exemplo que estava no post anterior.

O que o número 101010b (o "bezinho" significa que o número está em binário) representa em base 10? Nós já fizemos, lembra?

101010 = (1 × 25) + (0 × 24) + (1 × 23) + (0 × 22) + (1 × 21) + (0 × 20)

Ou seja, a partir da direita, nós fazemos a primeira potência de 2, no caso, 20 multiplicada pelo coeficiente, que é o dígito mais a direita, no caso 0; depois nos fazemos 21, a segunda potência, vezes o segundo dígito da esquerda para direita, que é 1, und so weiter (meus conhecimentos de alemão vêm de aulas de matemática e, aparentemente, und so weiter quer dizer "assim por diante"). Depois disso, nós somamos tudo e bang!, temos 42, que é o que 101010b representa em binário!

Vamos fazer outro número, o 101b:

101 = (1 × 22) + (0 × 21) + (1 × 20) $ = 4 + 0 + 1 = 5$

Logo, 101b = 510.

Fácil, certo? Tudo vem do fato que a representação é conveniente para fazer contas. E você ainda pode ignorar todos as potências multiplicadas por 0 :)

Convertendo de base 10 para base 2

O inverso já não é tão facil, mas ainda assim é bem simples!

Vamos pensar: se nós usamos multiplicação para ir da base 2 para base 10, o que nós precisamos para fazer o inverso? Hum, inverso... inverso da multiplicação... Isso! Divisão! Nós vamos dividir!

Não só, queremos também ir da base 10 para a base 2, então vamos dividir os números em base 10 por... 2! Várias vezes!

Ou seja, o processo é o seguinte: pegamos o número em base 10 e dividimos ele por 2, do jeito que fazíamos na segunda série. Por exemplo, se o número for 5, 5 ÷ 2 é igual a 2 e sobra 1. Vamos deixar esse 1 que sobrou guardado na nossa "lista": {1}. Depois, dividimos o resultado da primeira divisão por 2 de novo: pegamos o 2 e dividimos por 2: 2 ÷ 2 é 1 e sobra 0. Colocamos o nosso segundo 1 de resto na nossa lista, {1, 0}. Depois fazemos isso de novo: pegamos o resultado anterior, que era 1, e dividimos por 2: 1 ÷ 2 tem resultado 0 e sobra 1. Colocamos esse 1 na nossa lista, que agora tem {1, 0, 1} e paramos, pois chegamos a um resultado 0. Para termos o número 5 em binário, basta olharmos os elementos da lista, os restos, mas ao contrário, 510 = 101b! (O exemplo foi meio infeliz, dado que a lista é igual ao contrário XD).

A imagem a seguir vai ilustrar o processo:

Façamos a conversão de 42 para binário:

  • Passo 1) Dividimos 42 por 2: resultado é 21 e o resto é igual a 0. Colocamos 0 na nossa lista {0}.

  • Passo 2) Dividimos o resultado do passo 1 por 2: 21 ÷ 2 dá 10 e sobra 1. Colocamos 1 na nossa lista, que passa a ter {0, 1}.

  • Passo 3) Dividimos o resultado de passo 2 por 2: 10 ÷ 2. O resultado é 5 e sobra 0. Colocamos 0 na lista, {0, 1, 0}.

  • Passo 4) Dividimos o resultado do passo 3 por 2: 5 ÷ 2, que dá 2 e sobra 1. O 1 vai para a lista: {0, 1, 0, 1}.

  • Passo 5) Estamos acabando! Pegamos o 2, o resultado do passo 4, e dividimos por 2: 2 ÷ 2, que dá 1 e e sobra 0. Colocamos o 0 na lista: {0, 1, 0, 1, 0}

  • Passo 6) O penúltimo! Divimos o 1 que deu no passo 5 por 2, e obtemos 0 com resto 1. Colocamos esse 1 na lista {0, 1, 0, 1, 0, 1} e paramos, pois o resultado deu 0.

  • Passo 7) Para acabar, invertemos a lista e temos o nosso número: 101010b = 4210.

E é isso!

Para treinar, converta os seguintes números para binário:

  1. 16 2) 31 3) 2

Agora você já sabe converter de uma base para a outra! Parabéns!

São Paulo / SP

14 avaliações
Mestrado: MSc Advanced Computing - Machine Learning, Data Mining and H (University of Bristol - UK)
Professor de matemática e computação na Escola Britânica de São Paulo, St. Paul's. Experiência no preparo para IB (Studies, SL e HL), IGCSE, SAT e ACT.
IGCSE Computer Sciece, IB Computer Science, Python, C++, Programação em C, Matemática para Ensino Fundamental, Matemática para Ensino Médio
Oferece aulas online (sala profes)
Oferece aulas presenciais
R$ 200 / aula
Conversar
Cadastre-se ou faça o login para comentar nessa publicação.

Listas de exercícios, Documentos, Revisões de textos, Trabalhos?

Se seu problema for dificuldade em uma lista de exercícios, revisão de teses e dissertações, correção de textos ou outros trabalhos, peça uma ajuda pelo Tarefas Profes.

Enviar Tarefa

Confira artigos similares

Confira mais artigos sobre educação

Ver todos os artigos

Encontre um professor particular

Busque, encontre e converse gratuitamente com professores particulares de todo o Brasil