# Conversão de Bases Númericas

Para encontrar o número binário correspondente a um número decimal, são realizadas sucessivas divisões do número decimal por 2.
Em seguida, o resto da divisão de cada operação é coletado de forma invertida, da última para a primeira operação de divisão, como na figura, onde foi obtido o número binário correspondente ao número decimal 25:
Conversão de decimal em binário Na figura acima vemos que o número decimal foi dividido sucessivamente por 2 e os resultados foram coletados da última para a primeira divisão, formando o número binário.
Conversão de Binário para Decimal
Como vimos na lição anterior, para descobrir o número decimal correspondente a um número binário, basta calcular a soma de cada um dos dígitos do número binário multiplicado por 2 (que é a sua base) elevado à posição colunar do número, que, da direita para a esquerda começa em 0.
Vejamos uma conversão do número binário que obtivemos na conversão acima:
Conversão de binário em decimal Conversão de Decimal para Hexadecimal
A conversão de números decimais para hexadecimais é idêntica à conversão de decimal para binário, exceto que a divisão deve ser realizada por 16, que é a base dos hexadecimais.
Quando tiver dúvida sobre o valor em hexadecimal de algum resto, verifique na tabela da lição anterior.
Conversão de decimal em hexadecimal Conversão de Hexadecimal em Decimal
A conversão de números hexadecimais em decimais é realizada através da soma dos dígitos hexadecimais multiplicados pela base 16 elevada à posição colunar contando da direita para a esquerda, começando em 0, de forma semelhante à conversão de binários em decimais:
Conversão de hexadecimal em decimal Note que os caracteres que definem os dígitos hexadecimais A, B e C foram substituídos pelos valores equivalentes em decimais 10, 11 e 12 de acordo com a tabela da lição anterior para a realização do cálculo.
Conversão de Decimal em Octal
Assim como nas conversões anteriores, divide-se o decimal pela base para a qual se quer obter o número, no caso, 8:
Conversão de decimal em octal Vimos que foram coletados os restos de cada divisão da última para a primeira para formar o número octal.
Conversão de Octal em Decimal
A conversão de números octais em decimais é obtida através da soma dos dígitos do número octal multiplicados pela base 8 elevada à posição colunar do dígito, começando em 0 da direita para a esquerda:
Conversão de octal em decimal Conversão de Binário em Hexadecimal
Para converter um número binário em hexadecimal, separa-se o número binário em grupos de 4 bits, da direita para a esquerda. Em seguida, transforma-se cada grupo de 4 bits em hexadecimal. Ao final, simplesmente une-se os resultados em um só:
Conversão de binário em hexadecimal Caso o número de dígitos do número binário não seja múltiplo de 4, completa-se os dígitos à esquerda com zeros (0):
Conversão de binário em hexadecimal Conversão de Binário em Octal
Para converter números binários em octais, separa-se os dígitos do número binário em grupos de 3 bits da direita para a esquerda. Em seguida transforma-se cada grupo individual de 3 bits em octal. Ao final, une-se os resultados:
Conversão de binário em octal Caso o número de dígitos do número binário não seja múltiplo de 3, completa-se os dígitos à esquerda com zeros (0):
Conversão de binário em octal Conversão de Hexadecimal em Binário
Para converter números hexadecimais em binários, decompõem-se o número hexadecimal diretamente em binários de 4 dígitos. Os zeros mais à esquerda do resultado binário podem ser omitidos:
Conversão de hexadecimal em binário Conversão de Octal em Binário
Para converter números octais em binários, decompõem-se o número octal diretamente em binários de 3 dígitos. Os zeros mais à esquerda do resultado binário podem ser omitidos:
Conversão de octal em binário Conversão de Octal em Hexadecimal
Para converter um número octal em hexadecimal, transforma-se primeiro o octal em binário e em seguida o binário em hexadecimal:
Conversão de octal em hexadecimal Conversão de Hexadecimal em Octal
Para converter um número hexadecimal em octal, transforma-se primeiro o hexadecimal em binário e em seguida o binário em octal:
Conversão de hexadecimal em octal Conversões entre Bases em Ruby
Na lição anterior vimos que temos, basicamente:
Números Decimais, de base 10. Números Binários, de base 2. Números Hexadecimais, de base 16. Números Octais, de base 8. Em Ruby há uma maneira bem simples de converter números entre bases diferentes.
Veja este exemplo no irb:
Conversão entre bases no irb Vejamos como é feita essa conversão:
Em primeiro lugar, o número em questão está no formato String (observe as aspas). Em seguida, o mesmo é convertido em inteiro com o .to_i, informando a base entre parênteses para a qual o mesmo deve ser convertido, no caso, base 10, para que seja convertido em inteiro decimal. Conversão entre bases no irb Em seguida o número é convertido em String novamente, informando a base para a qual o número deve ser interpretado, no caso, base 2, para que seja convertido em binário. Na segunda operação, o processo inverso é realizado. O número binário que está no formato String é convertido em inteiro com o .to_i e é informada a base 2 para o mesmo, que logo em seguida é convertido novamente em String, dessa vez de base 10. Conversão entre bases no irb E, é claro que Ruby também facilita a conversão entre outras bases. Nas linhas subsequentes do nosso teste são convetidos diversos exemplos que utilizamos em nossa lição entre diversas bases.
Conversão entre bases em Java
Em Java, também é fácil converter números entre bases diferentes. Veja este programa simples:
public class ConversaoEntreBases {
} Testando o programa:
Conversão entre bases em Java