edubun
Português

Como as portas somam números

Uma porta XOR e uma porta AND bastam para somar dois bits. Encadeie quatro somadores completos e você pode somar quaisquer dois números de 0 a 15.

Tente isto antes de continuar lendo. Some 0101 e 0011 no papel, em binário, do jeito que você soma em decimal, e escreva cada vai um acima da coluna seguinte. Você só precisa de três fatos: 0 + 0 = 0, 0 + 1 = 1 e 1 + 1 = 10, o que quer dizer escreva 0 e vai 1. Com um vai um chegando, 1 + 1 + 1 = 11, então você escreve 1 e vai 1. A resolução está no próximo parágrafo, então cubra-o antes.

Aqui está a resolução. Coluna da direita: 1 + 1 = 10, escreve 0, vai 1. Próxima: 0 + 1 mais o vai um dá 10 de novo, escreve 0, vai 1. Próxima: 1 + 0 mais o vai um, 10, escreve 0, vai 1. A da esquerda: 0 + 0 mais o vai um dá 1. A resposta é 1000, que é 8, e 5 + 3 = 8. Três das quatro colunas tiveram vai um. Uma calculadora, um jogo e uma planilha acabam todos fazendo exatamente isso. Dentro de um processador, cada coluna é tratada por algumas portas, e a cena começa com essa mesma soma. Depois tente 9 + 8 lá. Ela precisa de um quinto bit.

Carregando

Arraste para girar. Role ou faça pinça para dar zoom.

A = 0101 (5) e B = 0011 (3). O vai um passa da direita por três posições e a soma é 1000 (8). Toque em qualquer bit de A ou de B, ou escolha um número nos menus. Tente 9 + 8: a resposta 17 precisa de um quinto bit, o vai um que sai à esquerda.

A coluna da direita precisa só de duas portas

Olhe a coluna da direita sozinha. O bit da resposta ali, a soma, é 1 quando exatamente uma entrada é 1. Essa é a regra do XOR. O vai um é 1 só quando as duas entradas são 1. Essa é a regra do AND. Então uma porta XOR e uma porta AND lado a lado, recebendo as mesmas duas entradas, somam dois bits. Esse pequeno circuito é um meio somador. Ele é só “meio” porque não tem como receber um vai um da coluna à sua direita.

As outras colunas têm três bits para somar

Em todas as outras colunas, três bits se encontram: um de cada número e o vai um que vem da direita. Um somador completo recebe os três. Sua soma é A XOR B XOR vai-um-de-entrada, que é 1 quando uma quantidade ímpar dos três é 1. Seu vai um de saída é 1 quando pelo menos dois deles são 1. Dois meios somadores e uma porta OR formam um somador completo. Alinhe quatro somadores completos, ligue o vai um de saída de cada um ao vai um de entrada do somador à esquerda, e você tem um somador de 4 bits. Cada vai um precisa ondular da direita para a esquerda antes que a última coluna se acerte, por isso esse projeto se chama somador de propagação de vai um (ripple-carry). Processadores reais somam números de 64 bits com circuitos mais espertos, que calculam os vai uns antes, mas a regra em cada coluna é a mesma.

ABVai um de entradaSomaVai um de saída
00000
01010
11001
10101
11111

O que acontece quando a resposta é grande demais

Quatro bits guardam de 0 a 15. Some 9 e 8 e a resposta verdadeira, 17, é 10001 em binário, com cinco bits. Um registrador que guarda só quatro bits fica com 0001, que é 1, e o vai um que sobra à esquerda é o sinal de alerta. Isso é overflow. 15 + 1 em quatro bits deixa 0000. Os processadores ligam um indicador (flag) quando isso acontece, para que os programas possam perceber. A subtração reaproveita o mesmo somador. Para calcular A − B, o processador inverte todos os bits de B e soma 1, o que dá o complemento de dois de B, depois soma isso a A e descarta o vai um extra. Para 5 − 3 em quatro bits: 3 é 0011, invertido é 1100, mais 1 é 1101. Então 0101 + 1101 = 10010, e guardando quatro bits sobra 0010, que é 2.

Multiplicar é deslocar e somar

A multiplicação vem das mesmas peças. Em binário, multiplicar por 2 move cada bit uma posição para a esquerda, assim como multiplicar por 10 acrescenta um zero no decimal: 0011 (3) vira 0110 (6). Para 5 × 3, repare que 3 é 2 + 1. Então 5 × 3 = 5 × 2 + 5 × 1 = 1010 + 0101 = 1111, que é 15. Um circuito multiplicador desloca e soma assim, pegando os bits 1 do segundo número um de cada vez.

Erros comuns
  • “1 + 1 = 2, então a resposta cabe num bit.” Um bit guarda só 0 ou 1. 1 + 1 = 10: o bit da soma é 0 e vai 1. Descarte o vai um e a resposta vira 0, o que está errado.
  • “Um meio somador soma números de qualquer tamanho.” Um meio somador não tem entrada para um vai um vindo da direita, então só funciona na coluna da direita. Todas as outras colunas precisam de um somador completo com três entradas. Um somador de 4 bits poderia usar um meio somador e três somadores completos.
  • “O overflow faz o computador parar com um erro.” O somador só guarda os bits para os quais tem espaço. 9 + 8 em quatro bits dá 0001, uma resposta errada com cara de perfeitamente normal. O processador liga um indicador, e o programa precisa conferi-lo.
  • “A subtração precisa de um circuito próprio de subtrair.” Inverta os bits de B, some 1 e some o resultado a A com o mesmo somador. 5 − 3: 0101 + 1101 = 10010, e os quatro bits mais baixos, 0010, são 2.
Nota do professorPasse a soma 0101 + 0011 antes de dizer “somador” e faça os alunos escreverem os vai uns acima das colunas. A maior parte das tabelas do meio somador e do somador completo pode então ser lida na própria resolução deles. A passagem do meio somador para o completo é onde eles se perdem. Aponte para a segunda coluna da soma deles e pergunte quantos bits somaram ali: três. O vai um que ondula é fácil de encenar com quatro pessoas em fila passando um cartão de vai um para a esquerda. O complemento de dois precisa de um exemplo lento à mão; a cena não subtrai, então faça 5 − 3 no quadro e confira que 0010 é 2.
  1. Quanto é 1 + 1 em binário?
  2. Num meio somador, qual porta dá o bit da soma?
    • XOR
    • AND
    • OR
    • NOT
  3. Num meio somador, qual porta dá o vai um?
    • AND
    • XOR
    • OR
    • NAND
  4. Quantos bits de entrada um somador completo recebe?
  5. Um somador completo recebe A = 1, B = 1, vai um de entrada = 1. Qual é o bit da soma?
  6. Some 0110 e 0011. Dê quatro bits.
  7. Um registrador de 4 bits soma 9 + 8 e guarda só quatro bits. Que número ele guarda?
  8. Qual é o complemento de dois de 0011 em 4 bits?
  9. Quantos somadores completos precisa um somador de propagação de vai um para números de 8 bits?
  10. Qual é a maior soma que dois números de 4 bits podem dar?
Pontos-chave
  • Meio somador: soma = A XOR B, vai um = A AND B.
  • Somador completo: três entradas; a soma é 1 para uma quantidade ímpar de 1s, o vai um para dois ou mais.
  • Somadores completos encadeados formam um somador de propagação de vai um; os vai uns andam da direita para a esquerda.
  • Overflow: o resultado precisa de mais bits do que o registrador tem. A subtração soma o complemento de dois.
Fontes deste curso (9)
  • (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then the teaching model and calculations, history sources last)
  • Standards: NIST, "Prefixes for binary multiples" (physics.nist.gov/cuu/Units/binary.html: IEC approved kibi, mebi, gibi in December 1998; 1 B = 8 bit; 1 MiB = 1 048 576 B; 1 MB = 1 000 000 B; 1 GiB = 1 073 741 824 B; historical note: memory makers usually mean 2²⁰ bytes by megabyte, storage makers 1 000 000, and the "1.44 MB" diskette uses a megabyte of 1 024 000 bytes)
  • IETF RFC 20 "ASCII format for Network Interchange" (1969, 7-bit codes, A = 65, a = 97, 0 = 48)
  • IETF RFC 3629 "UTF-8, a transformation format of ISO 10646" (2003: 1 to 4 octets per character, ASCII unchanged, code points up to U+10FFFF, U+0800 to U+FFFF take three octets, "the first octet of a multi-octet sequence indicates the number of octets", example U+D55C U+AD6D U+C5B4 = ED 95 9C EA B5 AD EC 96 B4)
  • Official documentation: MDN Web Docs, "<color>" (hexadecimal colour notation #RRGGBB)
  • Intel, "Intel Chips" timeline poster (2012: Intel 4004 of 1971 with 2,300 transistors; 2nd generation Core 2010 with 1.16 billion)
  • Claude E. Shannon, "A Symbolic Analysis of Relay and Switching Circuits", Transactions of the AIEE vol. 57 (1938)
  • abstract of his MIT master's thesis. Computer History Museum, The Silicon Engine, "1947: Invention of the Point-Contact Transistor" (Bardeen and Brattain, December 1947, germanium)
  • John von Neumann, "First Draft of a Report on the EDVAC" (30 June 1945, Moore School, reprinted in IEEE Annals of the History of Computing 15:4, 1993).

Data de verificação: 2026-10-17