🔢 Aula 05: Sistema Hexadecimal (Base 16)
Fundamentos da Computação
🎯 Objetivos de Hoje
- Compreender a base 16 e o uso de letras A-F
- Aprender o agrupamento de bits em quartetos (Nibbles)
- Converter entre Decimal, Binário e Hexadecimal
- Ver aplicações reais (Cores CSS, Endereços de Memória)
🔄 Revisão: Por que mais uma base?
- Binário é muito longo:
11001010 - Octal agrupa de 3 em 3.
- Hexadecimal agrupa de 4 em 4.
Como a maioria dos computadores modernos usa múltiplos de 8 bits (Bytes), o Hexadecimal é perfeito!
🧩 Os 16 Símbolos
Usamos dígitos e as primeiras letras do alfabeto:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
- A = 10
- B = 11
- C = 12
- D = 13
- E = 14
- F = 15
🤝 A Relação Mágica: 2 e 16
Cada um dígito Hex representa exatamente 4 bits.
- 4 bits = 1 Nibble (Metade de um Byte).
- Isso significa que 2 dígitos Hex representam 1 Byte inteiro.
- Ex:
1111 1111binário =FFem hex.
📊 Tabela de Equivalência (0-7)
| Decimal | Binário | Hex |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 2 | 0010 | 2 |
| 3 | 0011 | 3 |
| 4 | 0100 | 4 |
| 5 | 0101 | 5 |
| 6 | 0110 | 6 |
| 7 | 0111 | 7 |
📊 Tabela de Equivalência (8-F)
| Decimal | Binário | Hex |
|---|---|---|
| 8 | 1000 | 8 |
| 9 | 1001 | 9 |
| 10 | 1010 | A |
| 11 | 1011 | B |
| 12 | 1100 | C |
| 13 | 1101 | D |
| 14 | 1110 | E |
| 15 | 1111 | F |
🛠️ Método: Binário para Hex
- Separe o binário em grupos de 4 bits (da direita para a esquerda).
- Converta cada quarteto usando a tabela.
Exemplo: 11011010 - 1101 | 1010 - \(D\) | \(A\) - Resultado: DA₁₆
⚠️ Preenchimento com Zeros
Se sobrar bits à esquerda, complete o quarteto com zeros.
Exemplo: 10111 - 0001 | 0111 - \(1\) | \(7\) - Resultado: 17₁₆
🔄 Método: Hex para Binário
Cada dígito Hex vira exatamente 4 bits. Nunca menos que 4!
Exemplo: \(B3₁₆\) - \(B \rightarrow 1011\) - \(3 \rightarrow 0011\) (não apenas 11) - Resultado: 10110011
🔢 Hexadecimal para Decimal
Usamos a soma de potências de 16.
Exemplo: \(1A₁₆\) - \(1 \times 16^1 + A \times 16^0\) - \(16 + 10 = 26_{10}\)
📏 Pesos da Base 16
| Posição | \(16^2\) | \(16^1\) | \(16^0\) |
|---|---|---|---|
| Valor | 256 | 16 | 1 |
\(FF₁₆ = 15 \times 16 + 15 = 240 + 15 = 255_{10}\)
➗ Decimal para Hexadecimal
Divisões sucessivas por 16.
Exemplo: \(157_{10}\) - \(157 \div 16 = 9\) (Resto 13) - 13 no Hexadecimal é D. - \(9 \div 16 = 0\) (Resto 9)
Resultado: 9D₁₆
🎨 Aplicação Real: Cores CSS
As cores na web são representadas por 3 canais (RGB) em Hexadecimal. #FF5733
- FF: Vermelho (Máximo)
- 57: Verde
- 33: Azul
Ao todo, são mais de 16 milhões de cores!
💻 Outras Aplicações
- Endereços de Memória:
0x7FFF - Endereços MAC:
00:1A:2B:3C:4D:5E - IPv6:
2001:0db8:85a3...
✍️ Exercício Rápido 1
Converta 10101111 para Hexadecimal.
1010|1111- Resposta: AF₁₆
✍️ Exercício Rápido 2
Qual o binário de \(C₁₆\)?
- \(C\) é 12 em decimal.
- \(12\) em binário é \(1100\).
- Resposta: 1100
📝 Resumo da Aula
- Base Hexadecimal usa dígitos 0-9 e A-F.
- 1 dígito Hex = 4 bits (Nibble).
- A conversão de Binário é feita por agrupamento.
- É a base padrão para cores e endereços de hardware.
🚀 Próxima Aula...
Conversão Binário para Hexadecimal Direto!
Vamos aprofundar a prática de converter strings binárias longas em hex sem passar pelo decimal.
❓ Dúvidas?
"Linguagens de programação são como as religiões: algumas são baseadas na Bíblia, outras no Hexadecimal." — Humor Nerd