Siccome il computer capisce solo i segnali “0” e “1”, gli informatici hanno inventato delle rappresentazioni binarie dei numeri interi. I principali sono: Rappresentazione senza segno,con segno, Complemento a due ed Eccesso N.
1.Rappresentazione senza segno
Supponiamo di avere un computer che lavora a 8bit, con la rappresentazione senza segno riusciamo a rappresentare i numeri da 0 fino a 255 di totale 2^8(256) numeri.
In seguente modo:
2.Rappresentazione con segno
Sempre lavorando a 8 bit utilizzando la rappresentazione con segno riusciamo a rappresentare i numeri da -127 fino a 127 di totale 2^8 – 1(255) numeri. (una combinazione verrà sprecata per questo riesce a rappresentare solo 255 numeri )
La rappresentazione binaria con segno è quasi uguale a quello senza, solo che questa volta utilizziamo il primo bit per indicare il segno: quando il primo bit è “0” sta per indicare un numero positivo e quando è “1” indica un numero negativo.
3.Rappresentazione complemento a due
Questa rappresentazione porta molti vantaggi alle operazioni di somme e differenze. Infatti il complemento a due è la codifica più utilizzata nel mondo dell’informatica.
Con 8 bit riesce a rappresentare i numeri che va da -128 a 127, di totale 2^8(256) numeri.
La codifica dei numeri positivi sono come la rappresentazione con segno.
Per codifica un numero negativo( N ) al complemento a 2 servono 3 passaggi.
- Convertire |N| nella rappresentazione senza segno.
- Ribaltare tutti “0” e “1”
- Somma 1 al numero binario ottenuto dal punto 2
ES: N = -5
- |N| = |-5| = 5 = 00000101
- Ribaltare 00000101 >> diventa: 11111010
- 11111010 + 00000001 = 11111011
- 11111011 è “-5” nel complemento a due
4.Rappresentazione eccesso N
N= 2^(numero di bit – 1) = 2^(8-1) = 128
Lavorando a 8 bit, con la rappresentazione eccesso si riesce a rappresentare i numeri che va da -128 a 127, di totale 2^8(256) numeri.
In questa codifica la parola con tutte le cifre uguale a zero(0000 0000) valga -N, nel nostro caso -128.