📦 Aula 08: Representação de Dados e Sinais
Fundamentos da Computação
🎯 Objetivos de Hoje
- Entender como o computador lida com números negativos
- Aprender o método do Complemento de 2
- Conhecer as codificações de texto (ASCII e UTF-8)
- Compreender a diferença entre dados e tipos de dados
❓ O Problema do Sinal
Até agora, vimos apenas números positivos (\(0, 1, 2...\)). Mas como representar -5?
O computador não tem um símbolo "-" físico. Ele só tem bits (0 e 1).
🛠️ Método 1: Sinal e Magnitude
A ideia mais simples (e ineficiente): Reservar o bit mais à esquerda (MSB) apenas para o sinal.
- 0 = Positivo
- 1 = Negativo
Ex: 0 0000101 (+5) e 1 0000101 (-5).
--
O Problema: Dois Zeros!
00000000(+0)10000000(-0)
Isso causa um desperdício de espaço e complica os cálculos matemáticos.
🚀 O Padrão: Complemento de 2
É a forma como praticamente todos os processadores modernos trabalham.
Vantagem: A soma de um número positivo com um negativo funciona automaticamente usando o mesmo circuito de soma!
⚙️ Passo a Passo: -5 em 8 Bits
- Escreva o número positivo em binário:
0000 0101(+5) - Inverta todos os bits (0 vira 1, 1 vira 0):
1111 1010(Chamado de Complemento de 1) - Some 1 ao resultado:
1111 1011(-5)
🏗️ Por que isso funciona?
Tente somar \(5 + (-5)\) em binário de 8 bits: 00000101 (+5) 11111011 (-5)
100000000 (9 bits)
Como só temos 8 bits, o "1" da esquerda é ignorado. O resultado é 00000000. MÁGICA!
🔤 Representando Texto
Além de números, computadores guardam letras, emojis e símbolos. Mas no fundo, são todos números.
Cada letra recebe um "código" numérico.
🎞️ Tabela ASCII
A primeira codificação padrão (anos 60). Usa 7 ou 8 bits.
- 'A' = 65
- 'a' = 97
- 'space' = 32
Limitação: Apenas 128 (ou 256) caracteres. Sem acentos brasileiros, gregos ou chinês.
🌎 O Salvador: UTF-8 (Unicode)
O padrão hoje da Internet e de quase todos os sistemas.
- Suporta MILHÕES de caracteres.
- É multibyte: caracteres comuns (A, B, C) usam 1 byte, mas emojis podem usar 4 bytes.
- É compatível com o ASCII antigo.
🧪 Exemplo UTF-8
- 'A' \(\rightarrow\)
41(Hex) - 'ç' \(\rightarrow\)
C3 A7(Hex) - '🚀' \(\rightarrow\)
F0 9F 9A 80(Hex)
Um único símbolo pode esconder uma sequência longa de bits!
📊 Resumo das Bases de Dados
| Tipo | Método |
|---|---|
| Inteiros Positivos | Binário Puro |
| Inteiros Negativos | Complemento de 2 |
| Texto Básico | ASCII |
| Texto Global/Emoji | UTF-8 / Unicode |
✍️ Exercício Rápido 1
Qual o complemento de 2 de 1111 0000? (Dica: Inverta e some 1)
- Inverta:
0000 1111 - Some 1:
0001 0000 - Resposta: 16 em binário.
✍️ Exercício Rápido 2
Se 'A' é 65, qual o valor decimal de 'B' na tabela ASCII?
- Resposta: 66
🏗️ Desafio
Por que o arquivo .txt ocupa menos espaço que um arquivo .doc?
- O
.txtsó guarda os bits dos caracteres (ASCII/UTF-8). - O
.docguarda informações de cor, fonte, tamanho e estrutura (Metadados).
📝 Resumo da Aula
- Negativos usam Complemento de 2.
- Complemento de 2 facilitam a vida da CPU (soma e subtração são iguais).
- ASCII é para texto simples em inglês.
- UTF-8 é o rei do conteúdo global (inclusive acentos e emojis).
🚀 Próxima Aula...
Lógica Booleana!
Vamos sair da aritmética e entrar no mundo dos valores VERDADEIRO e FALSO.
❓ Dúvidas?
"No computador, tudo é bit. De uma foto 4K até este ponto final, tudo se resume a 0 e 1."