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.
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:
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
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
- 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
- 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:
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
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.
Exemplo
Como já foi aplicado um método muito parecido, vou deixar o desafio ao leitor de tentar converter os seguintes números:
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
Obtém-se então, em representação binária,
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á:
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
A conversão de hexadecimal foi explicada aqui
E segue a seguinte tabela:
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