Conversão de Bases

Olá Pessoal…

Hoje irei mostrar um guia completo de conversão de bases (Binário, Decimal, Octal e Hexadecimal), contendo também, uma tabela com os valores em cada base.


* Binário para Decimal (Base 2 -> Base 10)
Para converter da base Binário (Base 2) para Decimal (Base 10), deve se multiplicar todos os números da Base Binário por 2 elevado a potência, conforme for acrescentando e depois somar os resultados. Por exemplo:


   1   0   1   1  0  0  0   1
x  2⁷  2⁶  2⁵  2⁴ 2³ 2² 2¹  2⁰
 128  64  32  16  8  4  2   1
______________________________
 128 +0  +32 +16 +0 +0 +0  +1 = 177

No exemplo acima, o valor binário 10110001 foi sendo multiplicado pela base 2, no qual, no final é feita uma soma dos valores multiplicados por 1, resultando em 177.

* Binário para Octal (Base 2 -> Base 8)
A conversão de Binário para Octal, é totalmente simples, basta verificar os números binários (ou olhando na tabela, ou convertendo para decimal), e depois o resultado final, soma se os algarimos.

101 111 001
 5   7   1  = 571

No exemplo acima, o valor binário 101111001, foi separado em partes, cada parte contendo no máximo 3 digítos, e após a conversão (ou para decimal, ou usando a tabela), os valores são ‘juntados’.

* Binário para Hexadecimal (Base 2 -> Base16)
A conversão de Binário para Hexadecimal é semelhante a de Octal, porém sempre quando um valor ultrapassar 9 (decimal), ele será uma letra, na ordem A (10), B (11), C (12), D (13), E (14), F (15).


0011 1011 0110
 3    B    6   = 3B6

No Exemplo acima, o número binário 001110110110 foi separado em partes com no máximo 4 digítos, e foram convertidas para Decimal (ou olhando a tabela de conversão), depois juntando os dígitos, e nisso o resultado é 3B6. Lembrando que tanto para Hexadecimal quanto para Octal, se a separação ficar com menos dígitos, por exemplo 110010, deve-se acrescentar 0 à esquerda, ficando 0011 0010.

* Decimal para Binário (Base 10 -> Base 2)
Para converter de Decimal para binário, basta ir dividindo o valor Decimal para Binário, e depois pegar apenas os restos da divisão, da direita para esquerda.

  25 ║ 2
     ╚═════
   1    12 ║ 2
           ╚═════
         0    6  ║ 2
                 ╚═════
              0     3  ║ 2
                       ╚═════
                    1     1    =  11001

No exemplo acima, o valor decimal 25, foi sendo dividido até não haver mais divisão por dois, e depois da direita para esquerda (subindo), foi sendo juntado os dígitos, resultando em 11001.

* Decimal para Hexadecimal(Base 10 -> Base 16)
Mesmo caso acima, porém sendo dividido por 16.

423 ║ 16
    ╚═══
 7   26 ║ 16
        ╚═══
     10    1  = 1A7

Assim como citei acima (na conversão de Binário para HexaDecimal), se o valor ultrapassar 9 (10 a 15), deve se substituir por Letras (A a F). Portanto, 423 em Decimal, convertido para Hexa, resulta em 1 10 7 -> 1A7.

* Octal para Decimal (Base 8 -> Base 10)
Assim como binário para decimal, a conversão basta ir multiplicando por 8 em potência, como no exemplo abaixo.

  3        7        2
  8²       8¹       8⁰
(3*64) + (7*8) + (2*1)
_______________________
 192   +  56   +   2 = 250

E depois de ser multiplicado, basta somar os resultados, como no exemplo acima, que 372 em Octal, ficam 250 em Decimal.

* Octal para Binário (Base 8 -> Base 2)
Basta separar cada digíto do valor Octal e converter para binário (ou convertendo de decimal para binário, ou olhando a tabela), depois é só juntar o resultado.

 4   7   2
100 111 010 = 100111010

No exemplo acima, 472 Octal, foi separado em 3 partes, que juntas se tornam o valor binário 100111010.

* Hexadecimal para Decimal (Base 16 -> Base 10)
Mesmo caso de Binário para Decimal e Octal para Decimal, cada numero do HexaDecimal, multiplica-se por 16 em potência (sempre acrescentando), como no exemplo abaixo.

   3         5       6
  16²       16¹     16⁰
(3*256) + (5*16) + (6*1)
_________________________
  768   +   80   +   6   =  854

O valor 356 em Hexa, foi multiplicado pelos 16 em potência, gerando 3 resultados 758, 80 e 16, somando os três, o resultado fica 854.

* Hexadecimal para Binário (Base 16 -> Base 2)
Assim como outras conversões para Binário, separa-se os digítos do Hexa, e converte cada valor para Binário (usando a conversão de Decimal, ou olhando a tabela).

 9    F    2
1001 1111 0010   =  10011110010

No Exemplo acima, o valor em Hexa 9F2, foi separado, e depois juntado formando 10011110010 em Binário.

* Outras conversões:
HexaDecimal para Octal (Base 16 -> Base 8)-> Transforma-se primeiro Hexa em Binário, e depois o converte o valor transformado para Octal
Octal para HexaDecimal (Base 8 -> Base 16) -> Transforma-se primeiro Octal em Binário ou Decimal, e depois converte o valor transformado para Hexa
Decimal para Octal (Base 10 -> Base 8) -> Transforma-se primeiro Decimal em Binário, e depois converte o valor transformado para Octal

Abaixo a tabela que citei, sobre os valores em suas bases.

Tabela básica de Bases

Tabela básica de Bases

Bom gente, por hoje é só.
Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

14 Responses

  1. Erivan Sousa disse:

    Ótimo Tutorial me ajudou bastante parabéns!

  2. Rafaela disse:

    Muito bom, parabéns!
    me ajudou bastante.

  3. Davi Barbosa disse:

    Caro Dan… muito bom o site, me ajudou muito, mas na conversão de hexadecimal para decimal, há um equívoco no exemplo, se possível verificar e efetuar as correções, pois atrapalha o raciocínio de quem está começando a aprender conversões de bases diferentes.

    Desde já muito obrigado,
    Davi Barbosa

  4. matt disse:

    em
    “Hexadecimal para Decimal (Base 16 -> Base 10)”
    o certo seria 768 + 80 + 6 = 854

  5. Edmar Borges disse:

    Gostei muito do tutorial, me ajudou bastante.
    Continua sempre a ajudar as outras pessoas, que estão a tentar aprender conversões de bases diferentes.

  6. LUCIANO VITAL DA SILVA disse:

    Como fazer a tabela verdade de 0 e 1

Deixe uma resposta

Terminal de Informação