Como converter inteiros em binários e vice-versa
Números binários são tudo o que um computador entende. Letras, símbolos, comandos do usuário, tudo é convertido para binários, para que sua máquina possa processar e devolver uma resposta.
Saber manipular binários é um conhecimento básico e muito útil dentro da área de tecnologia, não só para desenvolvedores! Mas também, por exemplo, calcular máscaras de rede, intervalos de IP (Internet Protocol) e outras atividades voltadas à rede de computadores e computação em geral.
Mas se você está aqui, é porque já sabe disso, certo? Então, sem mais delongas!
Convertendo inteiros em binários
A nossa primeira missão é aprender a converter números inteiros em binários. E vou te ensinar a fazer isso de duas formas:
Divisão inteira por 2
Como você já sabe, números binários contém apenas dois estados: 0 e 1. Por isso, eles também são conhecidos como sistema numérico de base 2.
Para obter a representação binária de um inteiro através da divisão inteira por 2, vamos seguir estes passos:
- Realize sucessivas divisões inteiras do número por 2, até que o número seja 1;
- Anote os restos da divisões e o quociente da última divisão, que será sempre “1”;
- Inverta a ordem dos restos da divisão.
E pronto! Você converteu um número inteiro em sua representação binária.
Potências de base 2
Para começar, vamos escrever uma tabela contendo as potências de base 2:
Esta tabela contém dois campos: as potências na base binária e seu valor em decimais, para facilitar nossa leitura.
Note que sempre que acrescentamos +1 ao expoente, o valor decimal é dobrado:
Neste caso, se você precisar trabalhar com números maiores que 256, basta acrescentar a próxima base binária: 2⁹, que no caso, dobrará o alcance da tabela para 512. Precisa de um alcance ainda maior? Acrescente mais uma base binária: 2¹⁰, que dobrará novamente o alcance para 1024. E assim sucessivamente.
O tamanho da tabela é arbitrário. Você pode acrescentar mais potências para trabalhar com números maiores, ou retirar algumas potências para trabalhar com números menores.
Entendi, mas como utilizo a tabela para converter os números?
Vamos converter novamente o número 25 para binário, dessa vez utilizando nossa tabela, siga os passos:
- Decomponha 25 em partes menores de base 2. Observe a tabela e pense: “Quais números presentes na tabela, que somados, resultam em 25?”;
- Observando a tabela, chegaremos a conclusão que 16 + 8 + 1 = 25, logo, 16, 8 e 1 são os números, que quando somados, resultam em 25;
- As posições 16, 8 e 1 na tabela devem receber o valor binário 1;
- O restante deve receber o valor binário 0;
- Ao término, você obtém a representação binária de 25.
Este método talvez pareça mais trabalhoso do que somente dividir o número e obter os restos da divisão, porém ele tem duas vantagens:
- Com prática, você começará a memorizar as potências de 2 e seus valores em decimais, conseguindo realizar estas operações mentalmente sem grande esforço;
- Este método permite que consigamos fazer a operação inversa: converter binários para decimais de uma forma mais prática, e é isso que vamos fazer agora!
Convertendo binários em inteiros
Agora que já sabemos como trabalhar com a tabela de potências de 2, se torna muito simples converter binários em inteiros, tudo que precisamos fazer é inserir os dígitos do número binário na tabela e somar os valores decimais.
Vamos utilizar como exemplo, o número binário 1001011:
- 1001011 tem 7 dígitos. Logo podemos deduzir que uma tabela de 7 posições é o suficiente para convertermos este binário em inteiro;
- Após inserir o binário na tabela, basta somar os valores decimais marcados com 1 e ignorar os marcados com 0;
- O resultado desta soma é a conversão do binário em inteiro.
E assim, aprendemos duas formas de conversão. Saber operar binários é essencial na computação, e você acabou de dar o primeiro passo!
Para auxiliar nos seus estudos, estarei deixando uma calculadora binária. Assim você poderá corrigir e comparar os resultados enquanto treina: https://www.to-convert.com/pt/numero/converter-decimal-para-binario.php
Espero que a explicação e os exemplos tenham ficado claros. Qualquer dúvida, estou à disposição para ajudar. Obrigado por ter chegado até aqui, e até a próxima!