Codifica binaria dei numeri interi

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:

screen-shot-2016-10-19-at-15-59-09

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.

screen-shot-2016-10-19-at-16-15-17

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.

  1. Convertire |N| nella rappresentazione senza segno.
  2. Ribaltare tutti “0” e “1”
  3. Somma 1 al numero binario ottenuto dal punto 2

ES: N = -5

  1. |N| = |-5| = 5     = 00000101
  2. Ribaltare 00000101 >> diventa: 11111010
  3. 11111010 + 00000001 = 11111011
  4. 11111011 è “-5” nel complemento a due

screen-shot-2016-10-19-at-16-52-59

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.

screen-shot-2016-10-19-at-20-22-38

 

Leave a Reply

Your email address will not be published. Required fields are marked *