Pular para o conteúdo principal
CalcMax

Conversor de hexadecimal para binário

Resultado

10101000111111

Binário

Agrupado de quatro em quatro
0010 1010 0011 1111

Um conversor de hexadecimal para binário reescreve um número hexadecimal na base dois, e de todas as conversões deste site é a única que não precisa de conta nenhuma. Um algarismo hexadecimal é exatamente quatro algarismos binários — isso não é coincidência de um número em particular, é a razão de a base dezesseis existir —, então cada caractere é trocado pelos seus quatro bits e nada transporta entre eles. 2 vira 0010, A vira 1010, 3 vira 0011 e F vira 1111, então 2A3F vira 10101000111111. A tabela de substituição tem dezesseis entradas e nunca cresce: 0 é 0000, 1 é 0001, e a sequência conta em binário até F, que é 1111. Todo caractere vale quatro algarismos binários qualquer que seja a sua posição, ao contrário do decimal, onde o peso de um algarismo depende de onde ele está. Um detalhe é fácil de atrapalhar. Os algarismos da resposta são impressos duas vezes, uma como uma sequência simples e outra cortada em grupos de quatro, e a linha agrupada é mais longa porque o primeiro grupo foi completado com zeros à esquerda. 2A3F tem catorze bits, então a sua forma agrupada é 0010 1010 0011 1111 — dezesseis caracteres, com três zeros acrescentados na frente. Esses zeros não mudam o valor; eles existem para que a fronteira entre o segundo e o terceiro grupo fique visível, em vez de ser algo que você tenha de contar. Entrada em minúsculas é aceita e normalizada: 2a3f e 2A3F são o mesmo número e produzem a mesma resposta, o que importa porque as cadeias hexadecimais que aparecem por aí — valores de cor, hashes, identificadores — costumam ser escritas em minúsculas.

Cada caractere de 2A3F expandido nos seus quatro algarismos binários

Dígito hexadecimalNibbleDecimal
200102
A101010
300113
F111115

Quatro linhas, uma por caractere, e esse é o método inteiro — não há quinta linha a acrescentar nem transporte a explicar. A terceira coluna é o caractere lido como número, que é o valor que os quatro bits da segunda coluna somam: A é dez porque 1010 é 8 + 2, e F é quinze porque 1111 é 8 + 4 + 2 + 1. Ler a segunda coluna de cima para baixo e juntar dá a resposta binária, e ler a terceira coluna é o que você faria em vez disso se a pergunta tivesse sido o decimal. A primeira linha é a que se deve olhar por causa da regra do preenchimento: 2 é 0010, com um zero à esquerda de que o número em si não precisa, e esse zero está ali só para que esta linha tenha quatro caracteres de largura como as outras três. A tabela fica fixa em 2A3F enquanto o painel acima converte o que você digitou.

Fórmula

2A3F ⇒ 2 → 0010, A → 1010, 3 → 0011, F → 1111 ⇒ 10101000111111, agrupado como 0010 1010 0011 1111

2A3F
O número hexadecimal a converter. As letras não diferenciam maiúsculas de minúsculas, então 2a3f e 2A3F são o mesmo valor; a resposta é impressa sempre em maiúsculas, que é a convenção para notação binária e hexadecimal neste site
um caractere
A unidade com que esta conversão trabalha. Cada caractere é tratado por si, e nada é transportado de um para o outro — é por isso que dá para converter de hexadecimal para binário da esquerda para a direita, em qualquer ordem, sem manter um total corrente
4 bits
Em quantos algarismos binários cada caractere se expande, sem exceção. Dezesseis caracteres possíveis e dezesseis padrões de quatro bits possíveis são a razão inteira de as duas bases formarem par, e isso significa que o comprimento da resposta binária é sempre exatamente quatro vezes o número de caracteres
0000 — 1111
O conjunto completo que cada caractere pode produzir, contando em binário de 0 a 15. Esta é a tabela de substituição escrita por extenso: 0 é 0000, 1 é 0001, e a contagem segue até 9 como 1001 e depois de A a F como 1010 até 1111
⇒ 10101000111111
Os algarismos unidos sem nada entre eles. Esta é a forma binária do próprio número, e ela não é preenchida: zeros à esquerda são descartados, então um valor cujos bits do topo são zero sai mais curto do que quatro vezes os seus caracteres
0010 1010 0011 1111
Os mesmos algarismos cortados de quatro em quatro, e este é preenchido — o primeiro grupo é 0010 em vez de 10, com três zeros à esquerda acrescentados para que todo grupo tenha quatro caracteres de largura e as fronteiras coincidam com os caracteres hexadecimais
2⁵³ − 1
O teto da entrada, e ele chega aqui numa forma pouco familiar: catorze caracteres hexadecimais, que é 1FFFFFFFFFFFFF, que são 53 algarismos binários, que é 9.007.199.254.740.991 em decimal. Uma entrada mais longa é recusada em vez de convertida

Hexadecimal é o que as pessoas escrevem e binário é o que as máquinas executam, então passar de um para o outro é um passo diário de quem trabalha perto do hardware. Um código de cor como 2A3F são quatro caracteres hexadecimais, e ler quais bits dele estão ligados — que é o que uma máscara de bits, um sinalizador de permissão ou a configuração de um registrador realmente perguntam — significa vê-lo em binário. Hashes, somas de verificação e sinalizadores impressos em hexadecimal são lidos do mesmo jeito, e também os endereços num depurador ou os sinalizadores numa captura de pacote. Vale fazer a conversão na direção contrária também, e é por isso que ela tem página própria: binário fica ilegível depois de alguns algarismos, então um valor encontrado em binário normalmente é escrito em hexadecimal antes de ser repassado. Em trabalhos escolares a tarefa aparece como converta de hexadecimal para binário, e não há muito cálculo a mostrar além de uma substituição — mas o preenchimento vale ser escrito, porque uma resposta como 10101000111111 e uma resposta como 0010 1010 0011 1111 são o mesmo número com quantidades diferentes de estrutura visível, e qual das duas se quer depende de o leitor precisar do valor ou do arranjo dos bytes.

Exemplos resolvidos

  1. Convertendo 2A3F

    1. Pegue os caracteres um a um: 2, A, 3, F
    2. Troque cada um pelos seus quatro bits: 2 é 0010, A é 1010, 3 é 0011, F é 1111
    3. Junte os quatro grupos sem nada entre eles: 10101000111111
    4. Corte os mesmos algarismos de quatro em quatro e preencha o primeiro grupo: 0010 1010 0011 1111

    O caso padrão, e o exemplo que mostra o preenchimento. As duas linhas de saída têm comprimentos diferentes — catorze algarismos contra dezesseis, contando os três espaços —, e isso é esperado: a primeira linha é o número, a segunda é o número com as suas fronteiras de caractere tornadas visíveis. Repare também que A e F são substituídos, e não convertidos; não há aritmética em nenhum destes passos.

  2. Um byte, B2

    1. B é 11, que em quatro bits é 1011
    2. 2 em quatro bits é 0010
    3. Junte os dois: 10110010 — oito algarismos, dois grupos, um byte

    Dois caracteres hexadecimais são sempre oito bits, ou seja, um byte, e é por isso que vale conhecer esse par: a largura de um valor fica legível direto, sem contar nada. As fronteiras dos grupos aqui também caem de um jeito útil sobre o byte, o que é uma propriedade de dois caracteres e não deste valor em particular.

  3. Entrada em minúsculas, 2a3f

    1. O a minúsculo vale o mesmo que o A maiúsculo: os dois são dez
    2. O f minúsculo vale o mesmo que o F maiúsculo: os dois são quinze
    3. A conversão corre exatamente como correu para 2A3F e dá a mesma resposta

    As duas saídas saem palavra por palavra idênticas às do primeiro exemplo. Cadeias hexadecimais copiadas de uma página, de uma folha de estilo ou de um log costumam ser minúsculas, então aceitar as duas formas não é uma gentileza — recusar minúsculas tornaria a página inutilizável exatamente nas entradas que as pessoas trazem.

  4. A maior entrada, 1FFFFFFFFFFFFF

    1. Catorze caracteres, então a resposta tem 56 bits depois de o primeiro grupo ser preenchido
    2. O 1 inicial é 0001 num grupo de quatro bits, e é ali que o preenchimento aparece
    3. Os treze caracteres F são cada um 1111, então a resposta preenchida são 53 uns precedidos de três zeros
    4. Sem o preenchimento, o número em si são 53 uns

    O teto, e o caso mais claro da regra do preenchimento: o primeiro grupo é 0001 em vez de 1, então a linha agrupada tem três zeros à esquerda que a linha simples não tem. O mesmo limite aparece nas páginas decimais como 9.007.199.254.740.991 e nas páginas de leitura como 53 algarismos — é uma única fronteira escrita em três bases.

Limitações

Esta página converte apenas números inteiros, e a entrada é uma cadeia hexadecimal em vez de uma decimal, então não há ponto decimal a recusar: caracteres fora de 0 a 9 e de A a F é que são recusados. A entrada pode ter no máximo catorze caracteres hexadecimais, que é 1FFFFFFFFFFFFF, e uma cadeia mais longa é recusada com uma mensagem em vez de truncada — uma resposta truncada ainda pareceria uma resposta. Zeros à esquerda são aceitos e não mudam nada; um sinal de menos na frente é aceito, e aí o preenchimento é aplicado aos algarismos antes de o sinal ser anexado, então a linha agrupada lê menos 0010, e não menos 1010 com um sinal no meio. A resposta é impressa sempre em maiúsculas, independentemente de como a entrada foi escrita. A tabela abaixo expande o valor padrão 2A3F e não acompanha o que você digitou. Ir na direção contrária, de binário de volta para hexadecimal, é uma página separada, e esta não faz nenhuma conta sobre o resultado. As duas linhas de saída — a forma binária simples e a agrupada — são impressas como texto, algarismo por algarismo, e nenhuma delas passa por separação de milhares nem por vírgula decimal, porque nesta página não sai nenhuma quantidade decimal.

Perguntas frequentes

Por que um algarismo hexadecimal é sempre quatro bits?
Porque tanto o quatro quanto o dezesseis são potências de dois, e dezesseis é quatro dois multiplicados entre si. Quatro algarismos binários podem ser arranjados em dois elevado à quarta, que é dezesseis, padrões diferentes — exatamente o número de caracteres que a base dezesseis tem a oferecer. Então os dois conjuntos se encaixam perfeitamente: todo caractere tem um padrão de quatro bits e todo padrão de quatro bits tem um caractere, sem sobrar nada de nenhum dos lados. É por isso que se usa a base dezesseis, e não, digamos, a base dez, que não se divide em bits de maneira exata.
Por que a resposta agrupada é mais longa do que a simples?
Porque a linha agrupada é preenchida e a linha simples não é. A linha simples é a forma binária do próprio número, então ela descarta zeros à esquerda; a linha agrupada precisa ter um número inteiro de grupos de quatro bits, então ela completa o grupo do topo com zeros. Para 2A3F isso significa três zeros extras na frente — catorze algarismos numa linha, dezesseis na outra. Nenhuma das duas está errada, e elas são o mesmo valor. Se você precisa do valor, use a primeira; se precisa ver onde os caracteres caem, use a segunda.
Como eu converto hexadecimal para binário à mão?
Troque cada caractere pelos seus quatro bits e junte tudo, trabalhando da esquerda para a direita. Os quatro bits dos dez algarismos são a contagem em binário — 0 é 0000, 1 é 0001, 2 é 0010, até 9, que é 1001 — e depois A é 1010, B é 1011, C é 1100, D é 1101, E é 1110 e F é 1111. Não há nada a transportar nem total corrente a manter, então você pode converter os caracteres em qualquer ordem.
Faz diferença escrever as letras em maiúsculas ou minúsculas?
Não. 2a3f e 2A3F são o mesmo número e as duas formas se convertem em 10101000111111. A resposta é impressa sempre em maiúsculas, que é a convenção usual para as duas bases em texto técnico. Vale aceitar minúsculas porque a maior parte das cadeias hexadecimais que as pessoas copiam — um valor de cor de uma folha de estilo, um hash, um identificador de um log — é escrita assim.
Qual é o maior número hexadecimal que posso converter aqui?
Catorze caracteres: 1FFFFFFFFFFFFF é o teto, e ele se converte em 53 uns. Cadeias mais longas são recusadas com uma mensagem em vez de encurtadas, e o limite não é específico desta página — é a mesma fronteira que as páginas decimais expressam como 9.007.199.254.740.991 e as páginas de leitura como 53 algarismos. Numa largura maior uma máquina não consegue mais manter inteiros vizinhos separados, então uma resposta além disso não poderia ser confiada.
Converter hexadecimal para binário é a mesma coisa que converter hexadecimal para decimal?
Não, embora seja fácil confundir as duas porque ambas partem da mesma cadeia. Converter para binário é uma substituição: cada caractere vira quatro bits e nenhuma aritmética acontece. Converter para decimal é uma soma: cada caractere é multiplicado pela potência de dezesseis que a sua posição vale — 2A3F é 2×4.096 + 10×256 + 3×16 + 15 — e os termos são somados. A página do binário é mais rápida porque a base é potência de dois e a do decimal não é.

Referências

Calculadoras relacionadas