Rappresentazione in complemento a 2
La rappresentazione in complemento a 2 è un tipo di rappresentazione in complemento dei numeri binari che agevola e semplifica le operazioni aritmetiche nel sistema binario da parte del computer. La rappresentazione in complemento a 2 si ottiene in modo simile alla rappresentazione in complemento tradizionale a 1.
- Numeri positivi. Nel caso dei numeri binari positivi la rappresentazione in complemento a 2 è uguale alla rappresentazione segno-grandezza.
- Numeri negativi. Nel caso dei numeri binari negativi la rappresentazione in complemento a 2 è uguale all'inversione di ogni cifra (bit) del numero binario in valore assoluto a cui viene addizionato il numero binario uno (00000001)2
La rappresentazione in complemento a 2 consente di effettuare l'operazione aritmetica dell'addizione tra due numeri binari indipendentemente dal segno dei due numeri. E' sufficiente sommare i due numeri in complemento a 2 ignorando il riporto. Ad esempio, per sommare il numero negativo (-10)10 con il numero positivo (+20)10 tramite la rappresentazione in complemento a 2 si procede nel seguente modo:
(-10)10 ==> 10001010
(+20)10 ==> 00010100
Il numero positivo (+20)10 resta invariato mentre il numero negativo (-10)10 deve essere elaborato mediante la regola della rappresentazione in complemento a due. In primo luogo procediamo a calcolare il valore assoluto (senza segno) del numero binario.
|10|10 ==> 00001010
Utilizziamo il valore assoluto del numero binario per il calcolo del complemento invertendo tutte le cifre (bit) del numero da zero a uno e viceversa.
00001010
11110101
Infine, per ottenere il complemento a due si addiziona il numero ottenuto con il numero uno (00000001)2:
11110101+
00000001=
=========
11110110
Una volta calcolata la rappresentazione in complemento a due del numero negativo si somma il numero binario (11110110)2 con il numero positivo dell'operazione aritmetica (00010100)2 senza tenere in conto l'eventuale resto finale.
11110110+ (complemento a due del numero -10)
00010100= (numero decimale +20)
=========
00001010
Il risultato dell'operazione (00001010)2 è l'equivalente binario del numero decimale (10)10. Il risultato dell'addizione binaria è corretto. In conclusione, l'operazione con il metodo della rappresentazione in complemento a due consente di ottenere la somma di due numeri binari con un unico circuito, indipendentemente dal segno dei due numeri binari.