L’aggiunta di numeri binari è un processo leggermente dispari, e in un primo momento può sembrare leggermente sconcertante. Ma in verità, è molto simile all’aggiunta di numeri decimali che ci viene insegnato come parte della matematica elementare-con l’ovvia eccezione che stiamo lavorando con due cifre piuttosto che dieci!
Per iniziare a pensare all’aggiunta in termini binari, diamo un’occhiata all’aggiunta binaria di due valori a 1 bit-la forma più semplice di aggiunta che possiamo immaginare:
La tabella sopra rappresenta le regole logiche fondamentali dell’addizione binaria. I numeri a sinistra della tabella rappresentano i valori binari che stiamo cercando di aggiungere e i numeri a destra rappresentano il risultato di questa aggiunta. Questo potrebbe avere senso a parte la strana colonna di trasporto che è apparso improvvisamente!
La colonna carry indica i risultati in cui abbiamo superato la quantità che possiamo rappresentare con un solo bit. Avere un bit in più per rappresentare questo agisce come un meccanismo per spostare (o trasportare) valori in eccesso nella colonna di unità successiva (in binario queste colonne di unità sono 1, 2, 4, 8… ecc) quando si calcola l’aggiunta. Intuitivamente, puoi pensare a questo nello stesso modo in cui possiamo “trasportare” i valori decimali nella loro prossima colonna di unità (1, 10, 1000… ecc) quando si calcola l’aggiunta decimale a mano.
Ma per quanto riguarda l’implementazione di questo come hardware? Bene, poiché il metodo di addizione utilizza la logica di base, può essere costruito come un circuito digitale rappresentato dallo schema a blocchi sottostante.
Questo circuito prende due valori binari a 1 bit come input (A & B), emette un risultato (R) e trasporta il valore (poiché il carry è un output dal risultato lo chiameremo ‘esegui’, o Cout in breve). Questo comportamento è ciò che definisce un “mezzo sommatore” -un meccanismo per consentirci di eseguire l’aggiunta binaria a 1 bit.