Binário para hexadecimal: quatro bits, um dígito, nenhuma conta
O que esta conversão faz
Reagrupa uma sequência binária em blocos de quatro bits e escreve cada bloco como um único dígito de base 16. Não há aritmética além de uma tabela de consulta de dezesseis entradas, o que faz desta a conversão que vale a pena fazer no olho. É a maneira padrão de ler um padrão de bits que já cresceu demais para ser conferido com segurança.
Por que os grupos de quatro se alinham perfeitamente
Dezesseis é 2 elevado à quarta potência, então 4 posições binárias correspondem exatamente a um dígito de base 16: nunca sobra resto nem fica grupo parcial. É por isso que o hexadecimal é preferido ao octal para dados orientados a byte: oito bits se dividem em 2 grupos de 4, enquanto 3 não divide oito. Completar com zeros um grupo inicial curto mantém o alinhamento sem mudar o valor.
Tabela de conversão de binário para hexadecimal
Os dezesseis grupos possíveis de quatro bits com seus dígitos hexadecimais. Memorizar esta tabela é a habilidade inteira: depois disso, binário para hexadecimal vira transcrição, não cálculo.
| Binário | Hexadecimal |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 10 | 2 |
| 11 | 3 |
| 1010 | A |
| 1111 | F |
| 10000 | 10 |
| 101010 | 2A |
| 11111111 | FF |
| 100000000 | 100 |
A conversão que você faz enquanto depura
Quando um campo de protocolo, um registrador ou uma máscara de bits chega em binário e a documentação o lista em hexadecimal, é esta a tradução no meio do caminho. Fazer isso em grupos de quatro bits também dá uma verificação contínua: se o total de bits não for múltiplo de quatro, algum bit se perdeu no caminho, e você descobre isso antes que o valor o engane.
Complete o grupo inicial, não o adivinhe
Uma sequência de seis bits é um dígito e meio, o que não existe. Complete o grupo da esquerda com zeros até quatro — 101011 vira 0010 1011 — e converta isso. Adivinhar o alinhamento é como um valor acaba errado por um fator de dezesseis.
Perguntas frequentes
Como converter binário em hexadecimal à mão?
Divida os bits em grupos de quatro começando pela direita, complete o grupo mais à esquerda com zeros se ele for curto e troque cada grupo pelo seu dígito hexadecimal. 10011100 vira 1001 1100, que é 9C.
Por que agrupar pela direita e não pela esquerda?
Porque a extremidade direita guarda os menores valores posicionais, e o agrupamento precisa seguir o valor posicional para ter sentido. Agrupar pela esquerda desloca todos os dígitos quando o comprimento não é múltiplo de quatro, o que muda o número em silêncio em vez de apenas desalinhá-lo.
Quantos dígitos hexadecimais um byte precisa?
Exatamente dois, já que um byte tem oito bits e quatro bits formam um dígito. Essa relação fixa é o motivo de o hexadecimal ter virado a notação padrão para dados orientados a byte, e é a razão de você poder ler um despejo de memória como uma sequência de pares de dois dígitos.
A ferramenta lida com sequências de bits longas?
Sim. Um valor de 64 bits vira dezesseis dígitos hexadecimais, e a conversão é exata e não aproximada: a ferramenta usa aritmética inteira do começo ao fim, então nada se perde no extremo superior da faixa, onde o ponto flutuante começaria a arredondar.
Posso colar binário que já tem espaços?
Pode. Espaços e sublinhados são removidos antes da conversão, então binário copiado de um terminal, de um manual ou de um diff funciona sem precisar ser arrumado antes. O agrupamento que você vê na origem não tem efeito sobre o valor.