a adição de números binários é um processo ligeiramente ímpar, e no início pode parecer ligeiramente desconcertante. Mas, na verdade, é muito semelhante à adição de números decimais que somos ensinados como parte da matemática elementar – com a óbvia exceção de que estamos trabalhando com dois dígitos em vez de dez!
para começar a pensar sobre a adição em termos binários, vamos olhar para a adição binária de dois valores de 1-bit-a forma mais simples de adição que podemos imaginar:
a tabela acima representa as regras lógicas fundamentais da adição binária. Os números à esquerda da tabela representam os valores binários que estamos tentando adicionar, e os números à direita representam o resultado desta adição. Isto pode fazer sentido para além da estranha coluna carry que apareceu de repente!
a coluna carry denota resultados em que excedemos a quantidade que podemos representar com apenas um bit. Ter um bit extra para representar isso atua como um mecanismo para mover (ou transportar) valores superiores para a coluna da unidade seguinte (em binário estas colunas de unidades são 1, 2, 4, 8… etc) no cálculo da adição. Intuitivamente, você pode pensar nisso da mesma forma que nós podemos ‘carregar’ valores decimais em sua próxima coluna de Unidade (1, 10, 1000… etc) Ao calcular a adição decimal manualmente.
mas que tal implementar isto como hardware? Bem, como o método de adição usa lógica básica, ele pode ser construído como um circuito digital representado pelo diagrama de blocos abaixo.
este circuito leva dois valores binários de 1-bit como entradas (a & B), saídas de um resultado (R) e carry value (como o carry é uma saída do resultado, vamos chamá-lo de “carry out”, ou Cout para curto). Este comportamento é o que define um “meio adder” -um mecanismo que nos permite realizar uma adição binária de 1-bit.