ELEMANIA
Digitale - Addizione e sottrazione
Addizione in binario

L'addizione fra due numeri binari si esegue esattamente come la somma fra numeri decimali: si sommano fra di loro le cifre a due a due con l'eventuale riporto dalla somma delle cifre precedenti. Un esempio dovrebbe chiarire il concetto:

Esempio di somma

Si noti che se c'è un riporto finale significa che il numero di bit (3 nel nostro caso) non è sufficiente a rappresentare il risultato (che infatti richiede 4 bit). Una condizione del genere prende il nome di overflow e si verifica quando il risultato di un'operazione "straripa" dai bit assegnati. Volendo in una somma il bit di riporto può essere usato per segnalare un potenziale overflow (se è uguale a 1).

 

Numeri negativi e sottrazione in binario

Per rappresentare in binario i numeri negativi è necessario riservare un bit per la rappresentazione del segno. La soluzione più semplice consiste nell'indicare il segno per mezzo del primo bit del numero (il bit più significativo). Scegliendo la convenzione che i numeri positivi iniziano con 0 e quelli negativi con 1 avremo ad esempio dunque che:

(0101)2 = (+5)10    (1101)2 = (-5)10

E' evidente che, volendo rappresentare anche valori negativi, con 4 bit per esempio il massimo numero rappresentabile sarà 0111 cioè +7 e il minimo 1111 = -7. In pratica l'intero intervallo di valori (24=16 valori, nel nostro caso) viene diviso a metà, riservandone una parte per i numeri negativi e una per i numeri positivi: lo zero, con questa convenzione, può essere indicato in due modi diversi: 0000 (+0) oppure 1000 (-0).

Una soluzione più efficiente (e quella praticamente adottata in tutti i sistemi di calcolo) consiste nel rappresentare i numeri negativi col metodo del complemento a due. Per scrivere un numero negativo, per esempio -6, si parte dal corrispondente numero positivo, scritto lasciando il primo bit per il segno:

(0110)2 = (+6)10

A questo punto si invertono tutti i bit del numero, cioè si scambiano gli zero con gli uno e viceversa. Questa operazione viene detta complemento a uno. Nel nostro caso:

0110 → 1001

A questo punto si prende il numero così ottenuto e ci si aggiunge uno. Il valore che si ottiene rappresenta il complemento a 2 del numero di partenza:

1001 + 1 = 1010  = (-6)10

Si noti che il primo bit distingue sempre i numeri positivi da quelli negativi.

E' interessante notare che eseguendo di nuovo il complemento a due del numero ottenuto, si ottiene nuovamente il numero positivo di partenza:

1010 → 0101 + 1 = 0110

La notazione in complemento a due è molto utile perché consente di eseguire le sottrazioni in binario con le stesse regole delle somme. Supponiamo di voler effettuare l'operazione 7 - 6. Tale operazione può naturalmente essere scritta così

7 - 6 = 7 + (-6)

Usando la notazione in complemento a 2 per rappresentare il valore negativo -6, la sottrazione può essere eseguita usando le stesse regole valide per le somme:

Sottrazione in binario

In questo caso il riporto finale viene semplicemente scartato e non può venire usato per segnalare eventuali overflow.

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it