[Dica] Como converter octal/hexadecimal para binário

14/03/2012 por Simonarde Jr. Leave a reply »

Repost de 25/03/11:

Continuando com as dicas sobre números binários, octais e hexadecimais, agora eu vou mostrar como você pode converter de hexadecimal e/ou octal para binário sem ter que decorar aquela tabelinha, saca só:

Como vimos na aula (25/03), para converter um número octal para binário, temos que “decompor” os bits, lembra?

Octal: 775
Binário: 111 111 101 = 111111101

Se você utilizar a dica que eu postei antes, verá que é fácil converter de binário para octal (111 = 1 + 2 + 4 = 7, 111 = 1 + 2 + 4 = 7 e 101 = 1 + 4 = 5, uma vez que a posição 1 do último grupo binário não tem valor), agora, como você faz para converter de octal para binário de forma rápida? Simples, usa a tabela abaixo como base e “encaixa” o número que quer nela:

128 64 32 16 8 4 2 1

Por exemplo, se você quer saber o binário para 7, olha na tabela quais são os valores que somados dão 7, no caso 1, 2 e 4, concorda? Então, basta preencher esses campos com 1 e o restante com 0, olha só:

0 0 0 0 0 1 1 1
128 64 32 16 8 4 2 1

Viu que o binário que tá escrito lá? 00000111, simples não? Agora é só pegar o grupo de bits que você precisa, no caso, como estamos trabalhando com octais, você precisa de um grupo de 3 bits, logo 111.

Simonarde, dá mais um exemplo aí que ainda tá complicado. Beleza, saca só:

Octal: 354

Vamos decompor os bits na tabelinha:
4

0 0 0 0 0 1 0 0
128 64 32 16 8 4 2 1

Logo, temos que o binário para o octal 4 é 100

5

0 0 0 0 0 1 0 1
128 64 32 16 8 4 2 1

Logo, temos que o binário para o octal 5 é 101

3

0 0 0 0 0 0 1 1
128 64 32 16 8 4 2 1

Logo, temos que o binário para o octal 3 é 011

Agora vamos agrupar os 3 grupos: 011 101 100 = 011101100. Fácil, né?

Beleza Simonarde, você mostrou como faz para converter de octal para binário e vice-versa, mas como eu faço para converter de hexadecimal para binário? Do mesmo jeito, só que agora você vai formar grupos de 4 bits ao invés de apenas 3, dá uma olhada:

Hexadecimal: B3F1

Antes, vamos lembrar o valor das letras:

10 11 12 13 14 15
A B C D E F

Agora vamos preencher a tabela:

1

0 0 0 0 0 0 0 1
128 64 32 16 8 4 2 1

Binário: 0001

F (15)

0 0 0 0 1 1 1 1
128 64 32 16 8 4 2 1

Binário: 1111

3

0 0 0 0 0 0 1 1
128 64 32 16 8 4 2 1

Binário: 0011

B (11)

0 0 0 0 1 0 1 1
128 64 32 16 8 4 2 1

Binário: 1011

Agrupamos agora: 1011 0011 1111 0001 = 1011001111110001.

A princípio pode parecer mais trabalhoso que a tabela que o professor passou na sala, mas com o tempo você se acostuma e só de olhar o octal/hexadecimal você já vai preencher essa tabela de cabeça.

Mais uma vez, espero que essa dica seja útil e que vocês tenham entendido, mas qualquer coisa, escolhe um meio e me procura:

  • MSN: simonarde@live.com
  • E-mail: simonarde@gmail.com
  • Twitter: @simonardejr
  • Telefone: 8118-7093 (TIM)
  • Comentário aqui no blog
  • Ou na sala mesmo, só não entendo ainda sinal de fumaça, mas isso a gente dá um jeito xD

Bom, é isso gente, até a próxima.

Simonarde Jr.

8 comments

  1. @marginal disse:

    Boa simonarde… isso vai ajudar muito os bixos.. ano passado ja tinha desenvolvido essa tecnica mas nunca tinha colocado ela assim no papel.. eh a forma mais rapida q eu conheço de se transformar..

    Espero ver os bixinhos tirando nota boa.. e estudem bixarada

  2. Fernanda disse:

    Professor Simonarde
    Boa noite!
    Como faço para encontrar o número de bits de um número na base 10?
    No aguardo, antecipadamente agradeço.
    Obrigada!

    Fernanda

    • Simonarde Jr. disse:

      Então Fernanda, não sou professor, sou apenas um aluno do curso de SI :-)

      Mas vamos lá, respondendo a sua dúvida, primeiro você tem que converter ele para binário e aí sim você vai saber quantos bits ele tem… vou dar um exemplo: se você pegar o número 5 e converter p/ binário, você vai ver que o resultado é 101, ou seja, 3 bits. se você pegar o número 2, vai ver que ele em binário é 11, ou seja, 2 bits, entendeu? Basta você converter para binário e contar quantos dígitos tem :-)

      Gostaria de lembrar que eu aprendi dessa forma, mas não necessariamente esteja correta. Espero que tenha entendido, mas qualquer coisa, basta postar :-)

    • Simonarde Jr. disse:

      Caso precise de alguma ajuda para converter de decimal para binário, aqui no blog tem um outro artigo que escrevi que pode te ajudar, segue o link:

      – http://ufac.si/dica-como-converter-numeros-binarios-para-decimal-de-cabeca/

  3. wilson disse:

    valeu Simonarde,

    Me livrou de uma encrenca.

    Abs;

  4. Rita disse:

    Para transformar de octal e hexadecimal para binário não se pode usar esta tabela, pois ela serve só para decimal. Por exemplo o número 8 que tem na tabela não existe em octal.
    Ao meu ver a certa ficaria assim:
    octal:
    x x x x x x x x x
    400 200 100 40 20 10 4 2 1

    hexadecimal:

    x x x x x x x x x x
    400 200 80 40 20 10 8 4 2 1

Deixe uma resposta