La rappresentazione delle informazioni in un computer Seconda parte.

41
La rappresentazione La rappresentazione delle informazioni delle informazioni in un computer in un computer Seconda parte Seconda parte

Transcript of La rappresentazione delle informazioni in un computer Seconda parte.

Page 1: La rappresentazione delle informazioni in un computer Seconda parte.

La rappresentazione delle La rappresentazione delle informazioni in un computerinformazioni in un computer

Seconda parteSeconda parte

Page 2: La rappresentazione delle informazioni in un computer Seconda parte.

Operazioni in binarioOperazioni in binario

Poiché sistema decimale e sistema binario Poiché sistema decimale e sistema binario seguono entrambi le regole dei sistemi di seguono entrambi le regole dei sistemi di numerazione posizionali lo stesso succede numerazione posizionali lo stesso succede quando si vogliono fare operazioni quando si vogliono fare operazioni aritmetichearitmetiche

Page 3: La rappresentazione delle informazioni in un computer Seconda parte.

AddizioneAddizione

Supponiamo di voler sommare due numeri Supponiamo di voler sommare due numeri ad otto bitad otto bitAd esempio 01011011 equivalente a Ad esempio 01011011 equivalente a 64+16+8+2+1=91 in base 10 e 00101110 64+16+8+2+1=91 in base 10 e 00101110 equivalente a 32+8+4+2=46equivalente a 32+8+4+2=46Notiamo esplicitamente che abbiamo Notiamo esplicitamente che abbiamo aggiunto all’inizio degli zeri per fare in aggiunto all’inizio degli zeri per fare in modo che i due numeri siano entrambi modo che i due numeri siano entrambi costituiti da 8 bitcostituiti da 8 bit

Page 4: La rappresentazione delle informazioni in un computer Seconda parte.

Questa è una cosa che un essere umano Questa è una cosa che un essere umano normalmente non fanormalmente non fa

Non iniziamo mai un numero con zero ma Non iniziamo mai un numero con zero ma con la prima cifra significativa diversa da con la prima cifra significativa diversa da zerozero

Page 5: La rappresentazione delle informazioni in un computer Seconda parte.

Se proviamo a scrivere un numero sulla Se proviamo a scrivere un numero sulla calcolatrice essa eliminerà calcolatrice essa eliminerà automaticamente gli zeri che comporremo automaticamente gli zeri che comporremo all’inizioall’inizio

Page 6: La rappresentazione delle informazioni in un computer Seconda parte.

Inoltre un essere Inoltre un essere umano non cerca di umano non cerca di fare in modo che i fare in modo che i numeri siano tutti numeri siano tutti della stessa della stessa lunghezza ma scrive lunghezza ma scrive tante cifre quante tante cifre quante sono quelle che gli sono quelle che gli servono servono

Infine un essere Infine un essere umano può sommare umano può sommare numeri anche di numeri anche di dimensioni diversedimensioni diverse

1 7 4 +

8 4 3 2 =       

8 6 0 6

Page 7: La rappresentazione delle informazioni in un computer Seconda parte.

Un’altra caratteristica dell’uomo è che può Un’altra caratteristica dell’uomo è che può pensare e scrivere numeri con un numero pensare e scrivere numeri con un numero di cifre qualsiasidi cifre qualsiasi

Ha bisogno soltanto di abbastanza Ha bisogno soltanto di abbastanza inchiostroinchiostro

Page 8: La rappresentazione delle informazioni in un computer Seconda parte.

Abbastanza carta…Abbastanza carta…

Page 9: La rappresentazione delle informazioni in un computer Seconda parte.

… … e di tempo. Perché il Padreterno e di tempo. Perché il Padreterno potrebbe avere altre idee al riguardopotrebbe avere altre idee al riguardo

Page 10: La rappresentazione delle informazioni in un computer Seconda parte.

Un computer non ha invece questa Un computer non ha invece questa capacitàcapacità

Per pensare dei numeri deve poterli Per pensare dei numeri deve poterli scrivere da qualche partescrivere da qualche parte

Esso usa degli oggetti che si chiamano Esso usa degli oggetti che si chiamano registriregistri

Ogni registro è costituito da celle ognuna Ogni registro è costituito da celle ognuna delle quali memorizza un singolo bitdelle quali memorizza un singolo bit

Page 11: La rappresentazione delle informazioni in un computer Seconda parte.

Come tutto quello che è fabbricato Come tutto quello che è fabbricato dall’uomo, i registri hanno dimensioni dall’uomo, i registri hanno dimensioni standard ad esempio possono contenere 8 standard ad esempio possono contenere 8 bit per cui la lunghezza massima dei bit per cui la lunghezza massima dei numeri è pertanto prefissatanumeri è pertanto prefissata

Un processore con registri ad 8 bit può Un processore con registri ad 8 bit può “pensare” soltanto numeri lunghi al “pensare” soltanto numeri lunghi al massimo 8 bitmassimo 8 bit

Page 12: La rappresentazione delle informazioni in un computer Seconda parte.

Possiamo costruire un microprocessore Possiamo costruire un microprocessore con registri più lunghi ma il discorso non con registri più lunghi ma il discorso non cambiacambia

Un microprocessore a 64 bit non potrà Un microprocessore a 64 bit non potrà pensare numeri da 65 bit o oltre!pensare numeri da 65 bit o oltre!

Page 13: La rappresentazione delle informazioni in un computer Seconda parte.

Va tenuto poi conto che una cella di Va tenuto poi conto che una cella di memoria può assumere soltanto due memoria può assumere soltanto due valori per cui può contenere soltanto 0 o 1valori per cui può contenere soltanto 0 o 1

E’ per questo motivo che le celle iniziali E’ per questo motivo che le celle iniziali anche se non sono utilizzate devono anche se non sono utilizzate devono essere poste a zeroessere poste a zero

Page 14: La rappresentazione delle informazioni in un computer Seconda parte.

Infine c’è il problema dei numeri negativiInfine c’è il problema dei numeri negativi

L’uomo utilizza i simboli + e –L’uomo utilizza i simboli + e –

Vedremo che il computer utilizzerà il bit Vedremo che il computer utilizzerà il bit più a sinistra per rappresentare il segno più a sinistra per rappresentare il segno del numero per cui ancora una volta è del numero per cui ancora una volta è importante che i numeri abbiano la stessa importante che i numeri abbiano la stessa lunghezzalunghezza

Page 15: La rappresentazione delle informazioni in un computer Seconda parte.

Torniamo alla nostra sommaTorniamo alla nostra somma

0 1 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0

Page 16: La rappresentazione delle informazioni in un computer Seconda parte.

Cominciamo a sommare partendo da destra Cominciamo a sommare partendo da destra come faremmo in decimalecome faremmo in decimale

1+0=11+0=1

0 1 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

              1

Page 17: La rappresentazione delle informazioni in un computer Seconda parte.

Adesso dobbiamo sommare i bit in seconda Adesso dobbiamo sommare i bit in seconda posizioneposizione

1+1=2 ma in binario 2 si scrive con due bit 10 1+1=2 ma in binario 2 si scrive con due bit 10 per cui vuol dire che dobbiamo scrivere 0 e per cui vuol dire che dobbiamo scrivere 0 e riportare 1riportare 1

La stessa cosa succedeva in decimale se La stessa cosa succedeva in decimale se sommavamo ad esempio 8+5. Il risultato fa 13 sommavamo ad esempio 8+5. Il risultato fa 13 che in decimale non si può scrivere con una sola che in decimale non si può scrivere con una sola cifra per cui dovevamo scrivere 3 e riportare 1cifra per cui dovevamo scrivere 3 e riportare 1

Page 18: La rappresentazione delle informazioni in un computer Seconda parte.

1 riporto

0 1 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

            0 1

Page 19: La rappresentazione delle informazioni in un computer Seconda parte.

Sommiamo ora i bit in terza posizione più il Sommiamo ora i bit in terza posizione più il riportoriporto

0+1+1 di riporto =2 cioè in binario 10 per cui si 0+1+1 di riporto =2 cioè in binario 10 per cui si scrive 0 e si riporta 1scrive 0 e si riporta 1

1 riporto

0 1 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

          0 0 1

Page 20: La rappresentazione delle informazioni in un computer Seconda parte.

Sommando le quarte cifre più il riporto si avrà Sommando le quarte cifre più il riporto si avrà 1+1+1=3 che è pari in binario a 11 per cui si 1+1+1=3 che è pari in binario a 11 per cui si scrive 1 e si riporta 1scrive 1 e si riporta 1

1 riporto

0 1 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

        1 0 0 1

Page 21: La rappresentazione delle informazioni in un computer Seconda parte.

Questo è il risultato finaleQuesto è il risultato finale

0 1 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

1 0 0 0 1 0 0 1

Page 22: La rappresentazione delle informazioni in un computer Seconda parte.

La sottrazioneLa sottrazione

Anche la sottrazione si può fare nello Anche la sottrazione si può fare nello stesso modo con cui si fa una sottrazioen stesso modo con cui si fa una sottrazioen in decimalein decimale

Page 23: La rappresentazione delle informazioni in un computer Seconda parte.

1-0=11-0=1

0 1 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

              1

Page 24: La rappresentazione delle informazioni in un computer Seconda parte.

1-1=01-1=0

0 1 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

            0 1

Page 25: La rappresentazione delle informazioni in un computer Seconda parte.

Se adesso andiamo a sottrarre i bit di Se adesso andiamo a sottrarre i bit di posizione 3 vediamo che 0è più piccolo di posizione 3 vediamo che 0è più piccolo di 1 per cui è costretto a farsi fare un prestito1 per cui è costretto a farsi fare un prestito

Ragioniamo ora su come operavavamo in Ragioniamo ora su come operavavamo in decimaledecimale

Quando si faceva un prestito dalla cifra Quando si faceva un prestito dalla cifra superiore il prestito valeva 10superiore il prestito valeva 10

Page 26: La rappresentazione delle informazioni in un computer Seconda parte.

In quest’esempio 2 deve farsi fare un prestito e diventa 12 quindi si è In quest’esempio 2 deve farsi fare un prestito e diventa 12 quindi si è fatto prestare 10 [PROPRIO IL VALORE DELLA BASE!!!]fatto prestare 10 [PROPRIO IL VALORE DELLA BASE!!!]

3 2 4 -

1 5 2 =

       

1 7 2

Page 27: La rappresentazione delle informazioni in un computer Seconda parte.

IN MANIERA ANALOGA IN BINARIO SE IN MANIERA ANALOGA IN BINARIO SE UNA CIFRA SI FA FARE UN PRESTITO, UNA CIFRA SI FA FARE UN PRESTITO, IL PRESTITO VALE QUANTO LA BASE IL PRESTITO VALE QUANTO LA BASE CIOE’ 2CIOE’ 2

QUINDI NELL’OPERAZIONE CHE QUINDI NELL’OPERAZIONE CHE STAVAMO FACENDO 0 SI FA FARE UN STAVAMO FACENDO 0 SI FA FARE UN PRESTITO E DIVENTA 2, LE SI PRESTITO E DIVENTA 2, LE SI SOTTRAE 1 E DIVENTA 1SOTTRAE 1 E DIVENTA 1

Page 28: La rappresentazione delle informazioni in un computer Seconda parte.

prestito di 2

0 1 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

          1 0 1

Page 29: La rappresentazione delle informazioni in un computer Seconda parte.

Il bit in quarta posizione, facendo un Il bit in quarta posizione, facendo un prestito, è diventato 0 per cui ha bisogno a prestito, è diventato 0 per cui ha bisogno a sua volta di un prestitosua volta di un prestito

Diventa 2 e le si sottrae 1Diventa 2 e le si sottrae 1

Page 30: La rappresentazione delle informazioni in un computer Seconda parte.

prestito di 2

0 1 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

        1 1 0 1

Page 31: La rappresentazione delle informazioni in un computer Seconda parte.

PROSEGUENDO…PROSEGUENDO…

0 1 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

0 0 1 0 1 1 0 1

Page 32: La rappresentazione delle informazioni in un computer Seconda parte.

Facendo le sottrazioni possiamo avere Facendo le sottrazioni possiamo avere risultati negativirisultati negativi

E’ dunque necessario capire come il E’ dunque necessario capire come il computer rappresenta i numeri negativicomputer rappresenta i numeri negativi

Proviamo ad esempio ad eseguire Proviamo ad esempio ad eseguire l’operazione 27-46l’operazione 27-46

Page 33: La rappresentazione delle informazioni in un computer Seconda parte.

Il risultato è il seguenteIl risultato è il seguente

0 0 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

1 1 1 0 1 1 0 1

Page 34: La rappresentazione delle informazioni in un computer Seconda parte.

Il risultato avrebbe dovuto essere Il risultato avrebbe dovuto essere -19-19

In effetti la stringa di bit che In effetti la stringa di bit che abbiamo otttenuto rappresenta il abbiamo otttenuto rappresenta il numero -19 ma con una tecnica numero -19 ma con una tecnica

particolare che si chiama particolare che si chiama complemento a duecomplemento a due

1 1 1 0 1 1 0 1

Page 35: La rappresentazione delle informazioni in un computer Seconda parte.

La rappresentazione di un numero La rappresentazione di un numero negativo si ottiene nel seguente negativo si ottiene nel seguente

modomodoSi prende il numero positivo Si prende il numero positivo corrispondentecorrispondenteCominciando da sinistra si inverte ogni bit Cominciando da sinistra si inverte ogni bit (se è 0 lo si trasforma in 1 e viceversa)(se è 0 lo si trasforma in 1 e viceversa)Quando si arriva all’ultimo 1 della stringa Quando si arriva all’ultimo 1 della stringa ci si ferma: quel bit e tutti i bit che lo ci si ferma: quel bit e tutti i bit che lo seguono non vanno modificatiseguono non vanno modificatiQuello che otteniamo è il corrispondente Quello che otteniamo è il corrispondente numero negativo numero negativo

Page 36: La rappresentazione delle informazioni in un computer Seconda parte.

EsempioEsempio

+ 27 0 0 0 1 1 0 1 1

- 27 1 1 1 0 0 1 0 1

Page 37: La rappresentazione delle informazioni in un computer Seconda parte.

Esempio 2Esempio 2

+ 42 0 0 1 1 0 0 1 0

- 42 1 1 0 0 1 1 1 0

Page 38: La rappresentazione delle informazioni in un computer Seconda parte.

La prima cosa che si nota è che se il La prima cosa che si nota è che se il numero è positivo comincia con 0numero è positivo comincia con 0

Se il numero è negativo comincia da 1Se il numero è negativo comincia da 1

Page 39: La rappresentazione delle informazioni in un computer Seconda parte.

Noi stavamo calcolando 27- 46Noi stavamo calcolando 27- 46

0 0 0 1 1 0 1 1 +

0 0 1 0 1 1 1 0 =

1 1 1 0 1 1 0 1

Page 40: La rappresentazione delle informazioni in un computer Seconda parte.

Il risultato avrebbe dovuto essere Il risultato avrebbe dovuto essere -19-19

In effetti la stringa di bit che In effetti la stringa di bit che abbiamo otttenuto comincia con 1 abbiamo otttenuto comincia con 1 quindi è effettivamente un numero quindi è effettivamente un numero

negativonegativo

1 1 1 0 1 1 0 1

Page 41: La rappresentazione delle informazioni in un computer Seconda parte.

In effetti facendo il complemento a In effetti facendo il complemento a due si ottiene +19 quindi due si ottiene +19 quindi

effettivamente quella stringa di effettivamente quella stringa di partenza rappresenta -19partenza rappresenta -19

1 1 1 0 1 1 0 1

+ 19 0 0 0 1 0 0 1 1