Il complemento a 2

UD 2 - La rappresentazione delle informazioni

La rappresentazione in complemento a 2

Il sistema in complemento a 2,  così come il modulo e segno, consente di rappresentare i numeri interi relativi.

Ogni numero positivo viene rappresentato nello stesso modo del modulo e segno, e cioè il primo bit uguale a zero e gli altri uguali al modulo, cioè al valore del numero, allineati a destra e ponendo zeri nei bit rimanenti

Es. + 12  con 8 bit  0 0 0 0 1 1 0 0.

Invece per rappresentare un numero negativo, occorre ottenere il suo complemento a 2:

per fare il complemento a 2 di un numero, occorre, partendo da destra, riscrivere tutti gli zeri e il primo 1 che si incontra, poi scambiare ogni zero con 1 e viceversa.

Es. -12                       1   1   1  1  0  1  0  0

Si noti che se somma un numero con il suo complemento ottengo, su 8 bit e ignorando il riporto, ZERO.

La seguente rappresentazione 1 0 0 0 0 0 0 0, che corrisponde a -128 su 8 bit non può essere complementata

Questo metodo permette di effettuare agevolmente la somma algebrica di 2 numeri, disinteressandoci dei segni dei numeri: con il metodo del modulo e segno sarebbe ben più complicato farlo.

La rappresentazione in complemento a 2 gode delle seguenti proprietà

  • ha un'unica rappresentazione dello zero, formata da tutti zeri

  • tutti i valori negativi hanno il primo bit uguale a 1, mentre quelli positivi lo hanno uguale a zero

  • con n bit si possono rappresentare tutti i valori interi compresi tra -2n-1  e 2n-1-1

    • con 8 bit si possono rappresentare i numeri compresi tra -128 e + 127 che corrisponde al tipo shortint del PASCAL

    • con 16 bit si possono rappresentare i numeri compresi tra -32768 e 32767 che corrisponde al tipo integer del PASCAL

    • con 32 bit si possono rappresentare i numeri compresi tra -231  e 231+1  (circa 2.000.000.000) e corrisponde al tipo longint del PASCAL