Conversão de Binário, Octal e Hexadecimal para Decimal

23 Comentários

Por Guilherme Lawless  para o Pplware

Em tempos um leitor lançou-me o desafio para escrever uns artigos sobre os sistema de representação numérica (sistemas de numeração). Nos sistemas digitais/computação é frequente recorrer-se a diferentes sistemas de numeração para proceder à representação da informação digital.

O sistema de numeração decimal (ou na base 10), que usa dez algarismos é sem duvida o sistema mais utilizado por seres humanos e o sistema binário é o mais frequente  no mundo da computação, apenas são utilizados os valores 0 e 1 (pois facilita a representação de tensões), no entanto, existem outros como o sistema de numeração Octal, Hexadecimal, entre outros.

Depois da apresentação dos sistemas de numeração Decimal, Binário, Octal e Hexadecimal, e de já termos ensinado a converter de  Decimal para Binário, Octal e Hexadecimal hoje vamos aprender a fazer o inverso, ou seja, de Binário, Octal e Hexadecimal para Decimal.

numeracao_1

Binário para Decimal

A conversão do sistema binário para decimal é bastante simples, e baseia-se na aplicação da seguinte fórmula:

 

hexa_03

Em que:

  • bi é o algarismo em binário na posição i, sendo a posição 0 à esquerda da vírgula
  • Com um exemplo, torna-se ainda mais claro a sua utilização. Tome-se então o número não inteiro

hexa_04

 

Basta então seguir os seguintes passos:

  • 1) Começar na primeira posição à esquerda da vírgula.
  • 2) Indo para a esquerda, multiplicar cada algarismo por 2i sendo i a sua posição em relação à posição 0

hexa_05

  • 3) Caso o número seja inteiro, passar para o passo 4. Neste passo, segue-se a lógica do passo 2, mas para a direita da vírgula. A posição imediatamente à direita é –1

hexa_06

  • 4) Finalmente, por aplicação da fórmula, obtém-se o mesmo nº em representação decimal a partir da soma de todas as parcelas calculadas:

hexa_07

A aplicação desta fórmula é intuitiva e faz sentido, pois como já aprendemos anteriormente, cada algarismo em binário tem um valor correspondente na representação decimal.

Exemplo

bin_dec

Octal para Decimal

A conversão do sistema octal para o sistema decimal é em tudo semelhante à conversão de binário para decimal, com exceção do valor 2 na fórmula, que passa a 8.

octal_00

Exemplo

octal_05

Como já foi aplicado um método muito parecido, vou deixar o desafio ao leitor de tentar converter os seguintes números:

octal_02

Nota: A conversão octal=>decimal pode ser transformada numa conversão binário=>decimal. Para tal, é necessário converter individualmente cada algarismo em octal para binário. Segue um exemplo, para o número (27.5)8

octal_03

Obtém-se então, em representação binária, clip_image002[8]

Agora basta apenas aplicar o método da conversão binário=>decimal.

Hexadecimal para Decimal

Como seria de esperar, também nesta conversão verifica-se uma parecença com as anteriores. A fórmula a aplicar será:

hexa_00

O método a aplicar é também semelhante aos anteriores, bastando somar as várias parcelas, constituídas pela multiplicação de cada algarismo na posição i (em relação à posição 0, que é à esquerda da vírgula) por 16i

No entanto, é também possível transformar esta conversão numa conversão octal=>decimal ou ainda numa binário=>decimal, consistindo apenas na conversão de cada algarismo hexadecimal no correspondente do sistema de representação pretendido.

Exemplo

hexa

A conversão de hexadecimal foi explicada aqui

E segue a seguinte tabela:

hexa_02

Em Resumo…
  • Conversão Binário > Decimal – Multiplicar o algarismo do número binário pela base elevada ao expoente da sua posição no número
  • Conversão Octal > Decimal – Multiplicar o algarismo do número octal pela base elevada ao expoente da sua posição no número
  • Conversão Hexadecimal > Decimal  – Multiplicar o algarismo do número hexadecimal pela base elevada ao expoente da sua posição no número

Comentários

23

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Dumitru
    Dumitru

    Parabens pplware! Pena que ja aprendi isso quando estudava! Mas ate ao aprender poça… 😀 Mas aqui é muito mais simples e mais facil aprender! Uma boa aula sim senhor!

    1. Avatar de Thai­s Feminino Thamires
      Thai­s Feminino Thamires

      Nóe

  2. Avatar de Carvalho
    Carvalho

    Para o ano já uso estes tutoriais para dar aula hehehe

    1. Avatar de Romeu Araújo

      Créditos para o Guilherme Lawless 😉
      Nada de plagiar Sr. Professor eheh
      Cumps

  3. Avatar de Euclides Machado
    Euclides Machado

    Muito bom, didático e interessante o tutorial. Parabéns!
    Uma observação: No item 3.b (Binário para Decimal), não seria 1 ao invés de 0 ?

    1. Avatar de Guilherme Lawless
      Guilherme Lawless

      Sim, sem dúvida! Obrigado pela correção 🙂

    2. Avatar de Manuel das Mangas
      Manuel das Mangas

      Estou a aprender agora… E fiquei com a mesma dúvida nesse passo 3!
      Se está errado, é possível escrever o certo??

      1. Avatar de Euclides Machado
        Euclides Machado

        O correto é:
        ­b) 1 x 2ˉ² = ͟1͟ = 0,25

        1. Avatar de Euclides Machado
          Euclides Machado

          Desculpe, o 2² é para ficar embaixo do ̲1̲ .

        2. Avatar de Euclides Machado
          Euclides Machado

          Desculpe, o 2² é para ficar embaixo do ̲1̲ .

    3. Avatar de Admilson
      Admilson

      Zero sempre vai da zero

  4. Avatar de Ricardo S.Sequenha
    Ricardo S.Sequenha

    Lindos Tutorias.

  5. Avatar de Beatriz Peres
    Beatriz Peres

    no exemplo do octal para decimal, eu fiz a conta e sempre da 400, não entendi porque deu 407, poderia me explicar?

    1. Avatar de Euclides Machado
      Euclides Machado

      Oi Beatriz,
      a conta será (6 * 64)+ (2 * 8) + (7 * 1) = 407
      8**2 = 64, 8**1 = 8 e 8**0 = 1
      espero ter ajudado.

  6. Avatar de jonhhy
    jonhhy

    Boas,
    calculadoras que efetuem cálculos com vírgula flutuante existem?
    no passo 3 b) o coeficiente será 1 em vez de 0.
    Abraço

  7. Avatar de Satuza Pimentel
    Satuza Pimentel

    Muito boa a explicação. Melhor do que as dos livros que estava estudando. Parabéns!

  8. Avatar de wagner
    wagner

    em binario para decimal no passo 3 ta como 0*2-²= 1/2²= 0,25
    em vez de 1*2-²=1/2²=0,25. Mas muito bacana este site.

  9. Avatar de hugo abreu
    hugo abreu

    Muito útil parabéns.
    Mas penso que poderiam colocar mais conversões
    Ex binário – hexadecimal.
    Obrigado
    Melhores cumprimentos Hugo Abreu.

  10. Avatar de carine
    carine

    deveria ter octal para binários e como resolver questoes com números muito grandes

  11. Avatar de Neto Domingos
    Neto Domingos

    ola
    eu não entendi a Nota no passo do Octal, no exemplo de Decimal>Binário por que 27.5 = 010111.101 ?

    1. Avatar de binlax
      binlax

      de 27.5 tu usa o multiplicador de 26 no caso pra poder dar mais certo o calculo e nao colocar o 010111.101 :/

  12. Avatar de Leandro Zacarias
    Leandro Zacarias

    Adoreiiiiii
    isso xta bm resumido

  13. Avatar de Ancio
    Ancio

    Muito obrigado, explicacao objectiva.