Saltar para o conteúdo
BCBinary Code Translator
Menu
Voltar ao blog
Referência

Binário, decimal e hexadecimal: guia rápido de conversão

Tabela e exemplos para converter entre binário, decimal e hexadecimal. Aprenda o valor posicional, os grupos de quatro bits e as armadilhas com sinal e largura.

4 min de leitura
Por Binary Code Translator
#binário#decimal#hexadecimal#referência#ferramentas de desenvolvimento

Guia de conversão entre binário, decimal e hexadecimal

Binário, decimal e hexadecimal são três formas de escrever valores numéricos. O valor não muda quando a base muda; muda apenas a representação. Esta referência reúne as relações mais úteis para depuração, protocolos e estudo.

As três bases

  • Binário usa a base 2 e os dígitos 0 e 1.
  • Decimal usa a base 10 e os dígitos de 0 a 9.
  • Hexadecimal usa a base 16 e os dígitos de 0 a 9 e de A a F.

Cada dígito hexadecimal corresponde exatamente a quatro bits. Dois dígitos hexadecimais representam oito bits, isto é, um byte. Esta relação torna o hexadecimal mais compacto do que uma longa cadeia de zeros e uns.

Tabela de quatro bits

Binário Decimal Hexadecimal
0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 10 A
1011 11 B
1100 12 C
1101 13 D
1110 14 E
1111 15 F

Binário para hexadecimal

Agrupe os bits da direita para a esquerda em blocos de quatro. Acrescente zeros à esquerda apenas para completar o primeiro grupo, sem alterar o valor.

11110000₂ → 1111 0000 → F0₁₆
101101₂   → 0010 1101 → 2D₁₆

Hexadecimal para binário

Substitua cada dígito hexadecimal pelo grupo correspondente de quatro bits:

2A₁₆ → 2 = 0010, A = 1010 → 00101010₂
FF₁₆ → F = 1111, F = 1111 → 11111111₂

Os zeros iniciais podem ser importantes quando a largura faz parte do formato. 2A e 002A têm o mesmo valor numérico, mas não ocupam o mesmo número de bytes numa representação de largura fixa.

Binário para decimal

Multiplique cada bit pela potência de 2 da respetiva posição, começando em zero à direita:

101101₂ = 1×2⁵ + 0×2⁴ + 1×2³ + 1×2² + 0×2¹ + 1×2⁰
        = 32 + 8 + 4 + 1
        = 45₁₀

Decimal para binário ou hexadecimal

Para converter um inteiro decimal, divida repetidamente pela base e leia os restos pela ordem inversa. Para 45:

45₁₀ = 101101₂ = 2D₁₆

Num programa, evite converter valores grandes através de tipos de vírgula flutuante quando precisa de exatidão inteira. Em JavaScript, BigInt é adequado para inteiros que excedem o intervalo seguro de Number.

Sinal e largura

Uma cadeia de bits não indica sozinha se o valor tem sinal. Em oito bits, 11111111 vale 255 sem sinal e -1 em complemento de dois. Também é necessário saber se a largura é 8, 16, 32 ou 64 bits. Não remova zeros iniciais antes de interpretar um campo de largura fixa.

Os prefixos 0b e 0x são convenções de linguagens de programação para binário e hexadecimal; não fazem parte dos dígitos do valor. Confirme se a ferramenta ou o protocolo os aceita.

Também é importante separar valor e codificação. O número hexadecimal 41 pode representar o inteiro 65; num ficheiro de texto ASCII ou UTF-8, o byte 41 representa a letra A. Sem conhecer o tipo do campo, a largura e a codificação, a mesma sequência pode ser interpretada de várias formas. Uma tabela de bases confirma a aritmética, mas não identifica por si só o significado dos dados.

Ferramentas para confirmar resultados

Referência

Preferências de cookies

Gerir as preferências de cookies. Os cookies necessários não podem ser desativados.

Necessários

Obrigatório

Necessários para seleção de idioma, escolhas de privacidade e funcionalidades básicas do site.

Cookies: NEXT_LOCALE

Análises

Cookies opcionais de análise ajudam a entender o tráfego e melhorar o site.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidade

Cookies opcionais de publicidade podem ser usados para mostrar anúncios relevantes e medir desempenho.

Cookies: __gads, _gcl_au, IDE