Rappresentazione Numeri Interi

I numeri interi

I numeri interi, ovvero i numeri positivi e negativi, possono essere rappresentati indicando il segno seguito dal valore assoluto come succede normalmente nella codifica decimale.

2ex9g03.gif

Questa rappresentazione viene anche chiamata codifica con modulo e segno, si utilizza il primo bit della successione per indicare il segno: 0 positivo e 1 negativo, i restanti per la rappresentazione del valore assoluto del numero.
Quando si hanno a disposizione n bit questo tipo di codifica consente di rappresentare i numeri interi compresi tra -2^n-1 +1 e 2^n-1 -1. Ad esempio, con 4 bit a disposizione, si possono rappresentare i numeri interi che vanno da -7 (-2^4-1 +1) a 7 (2^4-1 -1).
Questo tipo di codifica ha però come difetto di duplicare la rappresentazione di un numero 0, come se -0 fosse diverso da +0. Inoltre la struttura di questa codifica richiede dispositivi di calcolo relativamente complessi, poiché è necessario trattare in maniera esplicita il segno.
Per questo motivo questa codifica è stata poco utilizzata nei calcolatori elettronici, dove si preferisce invece adottare la rappresentazione in complemento a due: il numero x viene rappresentato dal valore binario naturale corrispondente a 2^n +x dove n è il numero esatto di bit utilizzati per la codifica.
Considerando ad esempio di voler codificare dei numeri interi in complemento a due utilizzando esattamente 4 bit, in questo caso 2^n = 2^4 = 16 quindi la rappresentazione del numero x=+5 è 2^n +x = 16+5= 21 = 10101 (in base due), ma i bit disponibili per la codifica sono solo 4 perciò viene rimosso il bit più significativo ovvero il primo della successione, conservando solo 0101 che rappresenta la codifica in complemento a due di +5 e che per altro coincide con la codifica binaria naturale del numero 5.
Se invece volessimo rappresentare un numero negativo, per esempio -5 otterremo 16-5= 11 = 01011 (in base due) da cui nuovamente eliminando ancora il bit più significativo si ottiene 1011.

Se si considera la notazione posizionale che associa ad ogni cifra un peso che dipende dalla posizione della cifra, si può notare che nella rappresentazione binaria in complemento a due il valore rappresentato dal numero si può ottenere anche associando alla cifra più significativa un peso negativo, mentre tutte le altre cifre mantengono il peso originario positivo.
Ecco alcuni esempi di numeri codificati in complemento a due:
CODIFICA
C2 dieci
0000 0
0001 1
0010 2
0011 3
CODIFICA
C2 dieci
1100 -4
1101 -3
1110 -2
1111 -1

Il fatto che esista una sola rappresentazione dello 0 fa si che non si possano bilanciare i numeri positivi con quelli negativi: con 4 bit si possono rappresentare, oltre allo 0, 8 numeri negativi ma solo 7 positivi. Dall'esame dei valori riportati nella tabella possiamo subito notare che il primo bit di ogni numero positivo è 0, mentre i numeri negativi hanno il primo bit uguale a 1.
Anche se nella definizione formale il segno non è mai stato considerato in maniera esplicita, nella rappresentazione in complemento a due il primo bit rappresenta il segno del numero, al contrario di quanto fatto nella codifica in modulo e segno, dove il primo bit è esplicitamente creato come indicatore del segno del numero.

La caratteristica più interessante del complemento a due è la facilità con cui consente di eseguire le somme algebriche dei numeri.
La semplicità delle operazioni di somma algebrica effettuate sui numeri a complemento a due ha permesso la realizzazione di dispositivi capaci di effettuare queste operazioni in maniera molto efficiente e rapida.

Bibliografia
: i wikipedia, Libro di testo "Informatica 1", Piero Gallo full source reference
Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-ShareAlike 3.0 License