Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRosalva Savino Modificato 9 anni fa
1
La rappresentazione delle informazioni in un computer Seconda parte
2
Operazioni in binario Poiché sistema decimale e sistema binario seguono entrambi le regole dei sistemi di numerazione posizionali lo stesso succede quando si vogliono fare operazioni aritmetiche
3
Addizione Supponiamo di voler sommare due numeri ad otto bit Ad esempio 01011011 equivalente a 64+16+8+2+1=91 in base 10 e 00101110 equivalente a 32+8+4+2=46 Notiamo esplicitamente che abbiamo aggiunto all’inizio degli zeri per fare in modo che i due numeri siano entrambi costituiti da 8 bit
4
Questa è una cosa che un essere umano normalmente non fa Non iniziamo mai un numero con zero ma con la prima cifra significativa diversa da zero
5
Se proviamo a scrivere un numero sulla calcolatrice essa eliminerà automaticamente gli zeri che comporremo all’inizio
6
Inoltre un essere umano non cerca di fare in modo che i numeri siano tutti della stessa lunghezza ma scrive tante cifre quante sono quelle che gli servono Infine un essere umano può sommare numeri anche di dimensioni diverse 174+ 8432= 8606
7
Un’altra caratteristica dell’uomo è che può pensare e scrivere numeri con un numero di cifre qualsiasi Ha bisogno soltanto di abbastanza inchiostro
8
Abbastanza carta…
9
… e di tempo. Perché il Padreterno potrebbe avere altre idee al riguardo
10
Un computer non ha invece questa capacità Per pensare dei numeri deve poterli scrivere da qualche parte Esso usa degli oggetti che si chiamano registri Ogni registro è costituito da celle ognuna delle quali memorizza un singolo bit
11
Come tutto quello che è fabbricato dall’uomo, i registri hanno dimensioni standard ad esempio possono contenere 8 bit per cui la lunghezza massima dei numeri è pertanto prefissata Un processore con registri ad 8 bit può “pensare” soltanto numeri lunghi al massimo 8 bit
12
Possiamo costruire un microprocessore con registri più lunghi ma il discorso non cambia Un microprocessore a 64 bit non potrà pensare numeri da 65 bit o oltre!
13
Va tenuto poi conto che una cella di memoria può assumere soltanto due valori per cui può contenere soltanto 0 o 1 E’ per questo motivo che le celle iniziali anche se non sono utilizzate devono essere poste a zero
14
Infine c’è il problema dei numeri negativi L’uomo utilizza i simboli + e – Vedremo che il computer utilizzerà il bit più a sinistra per rappresentare il segno del numero per cui ancora una volta è importante che i numeri abbiano la stessa lunghezza
15
Torniamo alla nostra somma 01011011+ 00101110
16
Cominciamo a sommare partendo da destra come faremmo in decimale 1+0=1 01011011+ 00101110= 1
17
Adesso dobbiamo sommare i bit in seconda posizione 1+1=2 ma in binario 2 si scrive con due bit 10 per cui vuol dire che dobbiamo scrivere 0 e riportare 1 La stessa cosa succedeva in decimale se sommavamo ad esempio 8+5. Il risultato fa 13 che in decimale non si può scrivere con una sola cifra per cui dovevamo scrivere 3 e riportare 1
18
1 riporto 01011011+ 00101110= 01
19
Sommiamo ora i bit in terza posizione più il riporto 0+1+1 di riporto =2 cioè in binario 10 per cui si scrive 0 e si riporta 1 1 riporto 01011011+ 00101110= 001
20
Sommando le quarte cifre più il riporto si avrà 1+1+1=3 che è pari in binario a 11 per cui si scrive 1 e si riporta 1 1 riporto 01011011+ 00101110= 1001
21
Questo è il risultato finale 01011011+ 00101110= 10001001
22
La sottrazione Anche la sottrazione si può fare nello stesso modo con cui si fa una sottrazioen in decimale
23
1-0=1 01011011+ 00101110= 1
24
1-1=0 01011011+ 00101110= 01
25
Se adesso andiamo a sottrarre i bit di posizione 3 vediamo che 0è più piccolo di 1 per cui è costretto a farsi fare un prestito Ragioniamo ora su come operavavamo in decimale Quando si faceva un prestito dalla cifra superiore il prestito valeva 10
26
In quest’esempio 2 deve farsi fare un prestito e diventa 12 quindi si è fatto prestare 10 [PROPRIO IL VALORE DELLA BASE!!!] 324- 152= 172
27
IN MANIERA ANALOGA IN BINARIO SE UNA CIFRA SI FA FARE UN PRESTITO, IL PRESTITO VALE QUANTO LA BASE CIOE’ 2 QUINDI NELL’OPERAZIONE CHE STAVAMO FACENDO 0 SI FA FARE UN PRESTITO E DIVENTA 2, LE SI SOTTRAE 1 E DIVENTA 1
28
prestito di 2 01011011+ 00101110= 101
29
Il bit in quarta posizione, facendo un prestito, è diventato 0 per cui ha bisogno a sua volta di un prestito Diventa 2 e le si sottrae 1
30
prestito di 2 01011011+ 00101110= 1101
31
PROSEGUENDO… 01011011+ 00101110= 00101101
32
Facendo le sottrazioni possiamo avere risultati negativi E’ dunque necessario capire come il computer rappresenta i numeri negativi Proviamo ad esempio ad eseguire l’operazione 27-46
33
Il risultato è il seguente 00011011+ 00101110= 11101101
34
Il risultato avrebbe dovuto essere -19 In effetti la stringa di bit che abbiamo otttenuto rappresenta il numero -19 ma con una tecnica particolare che si chiama complemento a due 11101101
35
La rappresentazione di un numero negativo si ottiene nel seguente modo Si prende il numero positivo corrispondente Cominciando da sinistra si inverte ogni bit (se è 0 lo si trasforma in 1 e viceversa) Quando si arriva all’ultimo 1 della stringa ci si ferma: quel bit e tutti i bit che lo seguono non vanno modificati Quello che otteniamo è il corrispondente numero negativo
36
Esempio +2700011011 - 11100101
37
Esempio 2 +4200110010 - 11001110
38
La prima cosa che si nota è che se il numero è positivo comincia con 0 Se il numero è negativo comincia da 1
39
Noi stavamo calcolando 27- 46 00011011+ 00101110= 11101101
40
Il risultato avrebbe dovuto essere -19 In effetti la stringa di bit che abbiamo otttenuto comincia con 1 quindi è effettivamente un numero negativo 11101101
41
In effetti facendo il complemento a due si ottiene +19 quindi effettivamente quella stringa di partenza rappresenta -19 11101101 +1900010011
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.