Hexadecimal em uma frase
O hexadecimal é um sistema de numeração posicional de base 16: cada dígito vale 16 vezes mais que o dígito à sua direita, e os valores de 10 a 15 são escritos com as letras A a F. Para indicar que um número é hex, programadores escrevem 0x1A (C, Java, JavaScript, Python), #1A2B3C para cores CSS, 1Ah em assembly ou 1A₁₆ na matemática.
Dígitos hexadecimais de 0 a 15
| Decimal | Hex | Binário | Decimal | Hex | Binário |
|---|---|---|---|---|---|
| 0 | 0 | 0000 | 8 | 8 | 1000 |
| 1 | 1 | 0001 | 9 | 9 | 1001 |
| 2 | 2 | 0010 | 10 | A | 1010 |
| 3 | 3 | 0011 | 11 | B | 1011 |
| 4 | 4 | 0100 | 12 | C | 1100 |
| 5 | 5 | 0101 | 13 | D | 1101 |
| 6 | 6 | 0110 | 14 | E | 1110 |
| 7 | 7 | 0111 | 15 | F | 1111 |
Como contar em hexadecimal
O hex conta como o decimal, mas o “vai um” acontece depois do F, e não depois do 9: … 8, 9, A, B, C, D, E, F, 10, 11 … 19, 1A … 1F, 20 … FF, 100. Aqui, 10 significa dezesseis e 100 significa 16 × 16 = 256. Dois dígitos hex cobrem um byte (00–FF = 0–255), quatro dígitos vão até FFFF = 65.535 e oito dígitos até FFFFFFFF = 4.294.967.295.
Por que os computadores usam hexadecimal
Os computadores armazenam tudo em binário, mas longas sequências de 0s e 1s são difíceis de ler e fáceis de digitar errado. Como 16 = 2⁴, um dígito hex representa exatamente quatro bits (um nibble) e dois dígitos hex, um byte. Converter entre hex e binário é uma simples consulta dígito a dígito, e o hex é quatro vezes mais curto: 1101 1110 1010 1101 é apenas DEAD. O decimal não tem uma relação tão direta com o binário, e é por isso que raramente é usado para dados brutos.
Como converter hexadecimal para decimal e vice-versa
- Hexadecimal para decimal: multiplique cada dígito pela sua potência de 16 e some:
2F= 2 × 16 + 15 = 47, e1A3F= 1 × 4096 + 10 × 256 + 3 × 16 + 15 = 6719. - Decimal para hexadecimal: divida por 16 sucessivamente e leia os restos de trás para frente: 200 ÷ 16 = 12, resto 8, e 12 = C, então 200 =
C8. - Hexadecimal para binário: substitua cada dígito pelos seus 4 bits:
2F=0010 1111.
Nossos conversores fazem tudo isso na hora e mostram cada passo.
Onde o hexadecimal é usado
- Cores da web:
#FF6347é vermelhoFF, verde63e azul47. - Endereços de memória: depuradores e relatórios de falhas mostram ponteiros como
0x7FFE5A3C. - Endereços MAC: seis bytes como
00:1A:2B:3C:4D:5Eidentificam placas de rede. - Endereços IPv6: oito grupos de quatro dígitos hex, por exemplo
2001:db8::1. - Unicode: cada caractere tem um code point em hex –
U+00E9representa o é eU+1F600, o 😀. - Hashes e IDs: um hash SHA-256 tem 64 caracteres hex, e UUIDs e IDs de commits do Git são escritos em hex.
- Dumps hexadecimais: editores hexadecimais mostram o conteúdo dos arquivos byte a byte; todo PDF começa com
25 50 44 46(“%PDF”). - Códigos de erro: o Windows informa erros como
0x80070005(acesso negado).
Hexadecimal, decimal, octal e binário: comparação
| Sistema | Base | Dígitos | 255 se escreve | Uso típico |
|---|---|---|---|---|
| Binário | 2 | 0–1 | 11111111 | Hardware, flags de bits |
| Octal | 8 | 0–7 | 377 | Permissões de arquivo no Unix (chmod 755) |
| Decimal | 10 | 0–9 | 255 | Números do dia a dia |
| Hexadecimal | 16 | 0–9, A–F | FF | Bytes, cores, endereços, hashes |
Números negativos em hexadecimal
O hex em si não tem um sinal especial, então números negativos geralmente são armazenados em complemento de dois: o bit mais significativo de um valor de tamanho fixo indica que ele é negativo. Como byte com sinal, 7F é 127, 80 é −128 e FF é −1; como inteiro de 32 bits, FFFFFFFF é −1. Na matemática e na nossa calculadora, você também pode simplesmente escrever o sinal de menos: −1A = −26.
Perguntas frequentes
Por que o hexadecimal usa letras?
A base 16 precisa de dezesseis dígitos de um único caractere, mas só existem dez algarismos. As letras A–F representam os valores 10–15. Maiúsculas e minúsculas significam o mesmo: ff = FF = 255.
O que significa 0x antes de um número?
Indica que o número é hexadecimal em C, C++, Java, JavaScript, Python e muitas outras linguagens: 0x10 é 16, e não dez. O CSS usa # para cores, e o código assembly costuma acrescentar um h no final (10h).
Hexadecimal é o mesmo que Base64?
Não. O hex escreve cada byte como dois caracteres de 0–9 e A–F, então os dados dobram de tamanho, mas continuam fáceis de ler byte a byte. O Base64 usa 64 caracteres e agrupa 3 bytes em 4 caracteres, o que é mais compacto (cerca de 33% de acréscimo), mas não é legível byte a byte.
Última atualização: