Para fixar de vez a lógica digital por trás dos circuitos somadores e subtratores
Para fixar de vez a lógica digital por trás dos circuitos somadores e subtratores, preparamos uma maratona com 20 exercícios práticos resolvidos passo a passo. Domine o comportamento dos bits de transporte (Carry) e empréstimo (Borrow) agora mesmo!
Parte 1: Conversões de Base para Aquecimento (Exercícios 1 a 5)
Antes de operar os circuitos, precisamos alinhar os valores binários com a nossa percepção decimal.
• 5 ÷ 2 = 2 (resto 1) → Bit menos significativo (LSB)
• 2 ÷ 2 = 1 (resto 0)
• 1 ÷ 2 = 0 (resto 1) → Bit mais significativo (MSB)
Lendo os restos de baixo para cima: 101.
Resultado: 510 = 1012
• 12 ÷ 2 = 6 (resto 0)
• 6 ÷ 2 = 3 (resto 0)
• 3 ÷ 2 = 1 (resto 1)
• 1 ÷ 2 = 0 (resto 1)
Lendo de baixo para cima: 1100.
Resultado: 1210 = 11002
• (1 × 23) + (0 × 22) + (1 × 21) + (0 × 20)
• 8 + 0 + 2 + 0 = 10.
Resultado: 10102 = 1010
• 8 + 4 + 2 + 1 = 15.
Resultado: 11112 = 1510
• 7 ÷ 2 = 3 (resto 1) | • 3 ÷ 2 = 1 (resto 1) | • 1 ÷ 2 = 0 (resto 1).
Juntando os restos: 111.
Resultado: 710 = 1112
Parte 2: Somas Binárias e o Efeito Carry (Exercícios 6 a 12)
Aqui simulamos a atuação dos circuitos Meio Somador (XOR/AND) e Somador Completo (5 portas).
| 1 | 0 | |
| + | 0 | 1 |
| 1 | 1 |
• Coluna 1 (LSB): 0 + 1 = 1 (Porta XOR=1, Porta AND [Carry]=0)
• Coluna 2: 1 + 0 = 1.
Convertendo o resultado 112 para decimal temos 3. Bate perfeitamente (2 + 1 = 3).
Resultado: 112 (Decimal: 3)
| 1 | |
| 0 | 1 |
| + 0 | 1 |
| 1 | 0 |
• Coluna 1: 1 + 1 = 0 e gera Carry = 1 (A porta XOR dá 0 e a AND gera o transporte).
• Coluna 2: Recebe o Carry. 0 + 0 + 1 = 1.
Resultado: 102 (Decimal: 2)
| 1 | 1 | |
| 1 | 1 | |
| + | 0 | 1 |
| 1 | 0 | 0 |
• Coluna 1: 1 + 1 = 0 (Vai 1 para a coluna 2).
• Coluna 2: Aqui entra o Somador Completo (5 portas): temos o bit 1, o bit 0 e o Carry 1. Soma parcial: 1 + 0 = 1. Segunda porta XOR: 1 + Carry(1) = 0. O circuito gera um novo Carry Out = 1.
• Coluna 3: Baixa o Carry de transporte.
Resultado: 1002 (Decimal: 4)
| 1 | |||
| 1 | 0 | 1 | |
| + | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 |
• Coluna 1: 1 + 0 = 1.
• Coluna 2: 0 + 1 = 1.
• Coluna 3: 1 + 1 = 0 (Gera Carry = 1 para a próxima coluna).
Resultado: 10112 (Decimal: 11)
| 1 | 1 | 1 | |
| 1 | 1 | 1 | |
| + | 1 | 1 | 1 |
| 1 | 1 | 1 | 0 |
• Coluna 1: 1 + 1 = 0 (Vai 1).
• Coluna 2: 1 + 1 + Carry(1) = 1 (Vai 1).
• Coluna 3: 1 + 1 + Carry(1) = 1 (Vai 1).
Resultado: 11102 (Decimal: 14)
| 1 | 0 | 1 | 0 |
| + 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
Resultado: 11112 (Decimal: 15)
| 1 | 1 | 1 | 1 | |
| 1 | 0 | 0 | 0 | 1 |
| + 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 | 0 |
Resultado: 1000002 (Decimal: 32)
Parte 3: Subtrações Binárias e o Efeito Borrow (Exercícios 13 a 20)
Foco total no entendimento do "pede emprestado" com peso igual a 2.
| 1 | 1 |
| - 0 | 1 |
| 1 | 0 |
• Coluna 1: 1 - 1 = 0.
• Coluna 2: 1 - 0 = 1.
Resultado: 102 (Decimal: 2)
| 0 | 2 |
| 1 | 0 |
| - 0 | 1 |
| 0 | 1 |
• Coluna 1: 0 - 1 não dá. Pede para a Coluna 2. O bit 1 da esquerda vira 0 e a coluna 1 ganha peso 2.
• Operação corrigida: 2 - 1 = 1.
• Coluna 2: Restou 0. 0 - 0 = 0.
Resultado: 012 (Decimal: 1)
| 0 | 2 | |
| 1 | 1 | 0 |
| - 0 | 1 | 1 |
| 0 | 1 | 1 |
• Coluna 1: 0 - 1 pede emprestado. Vira 2 → 2 - 1 = 1.
• Coluna 2: Ficou valendo 0. 0 - 1 pede para a coluna 3. Vira 2 → 2 - 1 = 1.
• Coluna 3: Ficou valendo 0. 0 - 0 = 0.
Resultado: 0112 (Decimal: 3)
| 1 | 0 | 2 | ||
| 1 | 1 | 1 | 0 | 0 |
| - 0 | 1 | 0 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 |
Resultado: 100102 (Decimal: 18)
• Coluna 1 tenta pedir para a Coluna 2, que está zerada. A Coluna 2 precisa pedir primeiro para a Coluna 3.
• O '1' da coluna 3 vira 0 e passa peso 2 para a coluna 2.
• Agora a coluna 2 (que vale 2) empresta 1 para a coluna 1. Logo, a coluna 2 passa a valer 1 e a coluna 1 vira 2.
• Resolvendo: Coluna 1: 2 - 1 = 1 | Coluna 2: 1 - 0 = 1 | Coluna 3: 0 - 0 = 0.
Resultado: 0112 (Decimal: 3)
Resultado: 01012 (Decimal: 5)
| 1 | 1 | 1 | 1 | 1 |
| - 1 | 1 | 1 | 1 | 0 |
| 0 | 0 | 0 | 0 | 1 |
Resultado: 000012 (Decimal: 1)
Resultado: 0101012 (Decimal: 21)
Comentários
Postar um comentário