riporto
Operazione matematica coinvolta nell’algoritmo dell’addizione in colonna di numeri scritti in una base arbitraria b, richiesta quando l’addizione di unità di un dato ordine eccede b−1 unità, generando così una o più unità di ordine superiore. Tali unità così generate rappresentano il riporto, che si va a sua volta a sommare alle unità dello stesso ordine dei due addendi. Per es., in base decimale (b=10), addizionando in colonna i due numeri 58 e 6, occorre dapprima addizionare le unità del primo ordine (8 e 6), la cui somma dà 14; di essa si lascia scritto il numero 4 in corrispondenza dei due addendi e si posiziona il riporto di 1 sopra le unità dell’ordine immediatamente più elevato. Tale riporto va ad addizionarsi all’unità 5, dando come somma il numero 6. Il risultato finale dell’addizione risulta pertanto 64. Il concetto di riporto assume un’importanza rilevante nell’aritmetica binaria, sistema nel quale sono svole le operazioni fondamentali dei dispositivi digitali (come i microprocessori). In tal caso, ogni volta che la somma eccede l’unità, si genera un’unità di riporto (carry), che si sposta di una posizione andando a occupare il bit immediatamente più significativo. Tale operazione è alla base di un circuito logico come l’addizionatore digitale (adder), il quale può essere costruito per passi sfruttando proprio l’effetto del riporto. Un sistema con due ingressi costituiti dai valori da addizionare e con due uscite date dal risultato della somma (per es., tramite una porta XOR) e il riporto in uscita o carry out (per es., tramite una porta AND) permette di realizzare un modulo semi-addizionatore (half adder) a due bit. Il circuito addizionatore completo (full adder) a due bit deriva da quello del semi-addizionatore con l’aggiunta di un riporto in ingresso (carry in). Per addizionare numeri interi con più bit si può sfruttare una sequenza di addizionatori a due bit disposti in parallelo. Una volta collegati insieme tutti gli addizionatori richiesti, il riporto in uscita può servire a determinare se la somma dei due valori interi genera un risultato valido o meno. Per es., un riporto in uscita con valore pari a uno può essere usato per indicare che la somma ha prodotto un errore detto overflow). In modo analogo, si può realizzare l’operazione di sottrazione, nella quale un riporto pari a zero in uscita può indicare che la sottrazione non ha dato un risultato valido ma un errore (detto, per dualità, underflow).