rappresentazione dei dati. rappresentazione digitale dei dati memoria del calcolatore è finita...
TRANSCRIPT
![Page 1: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/1.jpg)
Rappresentazione dei dati
![Page 2: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/2.jpg)
Rappresentazione digitale dei dati
Memoria del calcolatore è finita
L’insieme dei numeri (interi e
reali) e dei caratteri rappresentabili è
finito
Numeri interi (C++: int)Numeri reali (C++ float e double)Caratteri (C++ char)
![Page 3: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/3.jpg)
Gli interi nel computer
e i negativi ?
Con 32 bit rappresento 232 numeri distinti.Con n bit bn-1…b1 b0:
1
0
00
11
11 2222
n
i
ii
nn bbbbx
b0 b1 b2 bn-3 bn-2 bn-1
20 21 22 2n-3 2n-12n-2
![Page 4: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/4.jpg)
Riserviamo il primo bit per il segno:0 = positivo 1 = negativo.
I numeri positivi rappresentabili sono quelli compresi tra 0 e 2n-1-1
Gli interi nel computer
s b0 b1 bn-3 bn-2 bn-1
+/- 20 21 2n-3 2n-12n-2
![Page 5: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/5.jpg)
Complemento a uno
Si complementa a 2n-1 il valore assoluto del numero.
1 1 1
0 0 02 2 (1 )2
n n ni i ii ii i i
x b b
![Page 6: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/6.jpg)
63- 0=--- 63
111111- 000000=------- 111111
in binario
Con n = 6 si rappresentano i numeri:
0 1 ... 31 32 ... 63
0 1 ... 31 -31 ... -0 positivi negativi
Rappr.
Numero
Rappresentazione dello 0
![Page 7: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/7.jpg)
EsempioEsempio con n = 6 bit: la rappresentazione di –10 è:
63- 10=--- 53
111111- 001010=------- 110101
in binario
![Page 8: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/8.jpg)
Complemento a due
Si complementa il valore assoluto del numero a 2n invece che a 2n-1.
Esempio con n = 6 bit: la rappresentazione di –10 è:
64- 10=--- 54
1000000- 001010=-------0110110
in binario
![Page 9: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/9.jpg)
Complementando 0 si ottiene ancora 0
64- 0=--- 64 ha gli ultimi 6 bit uguali a 0
in binario 1000000- 000000=-------1000000
Rappresentazione dello 0
![Page 10: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/10.jpg)
Esempio
Complementando 54 (che rappresenta –10) si ottiene
64- 54=--- 10 ha il bit 6 uguale a 0(positivo)
in binario 1000000- 110110=-------0001010
![Page 11: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/11.jpg)
Esempio
Complementando 32 (che rappresenta –32) si ottiene
64- 32=--- 32 ha il bit 6 uguale a 1(negativo)
in binario 1000000- 100000=-------0100000
![Page 12: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/12.jpg)
Con n = 6 si rappresentano i numeri:
0 1 ... 31 32 ... 63
0 1 ... 31 -32 ... -1 positivi negativi
Rappr.
Numero
Interi in complemento a due
![Page 13: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/13.jpg)
In generale: con n bits
positivi 0 .... 2n-1-1
negativi -2n-1 .... -1
![Page 14: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/14.jpg)
Somma
10+ 12=--- 22
Somma di numeri positivi: 10+12
binario
001010+ 001100=-------0010110
001000riporto
decimale
![Page 15: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/15.jpg)
Somma di numeri negativi: (-10)+(-12)
-10 64-10 = 54 -12 64-12 = 52
54+ 52=---106
binario
110110+ 110100=-------1101010
Somma di numeri negativi
decimale
![Page 16: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/16.jpg)
106-64=42
bit di overflow complemento
64-42 = 22
verifica
-22 64-22= 42
Somma di numeri negativi
1101010
0*25+1*24+0*23+1*22+0*20
- 22
![Page 17: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/17.jpg)
54+ 12=--- 66
Somma con un numero negativo (-10)+12
-10 64-10 = 54
110110+ 001100=-------1000010
Somma
binariodecimale
![Page 18: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/18.jpg)
27+ 12=--- 39
64-39 = 25 -25 64-25= 39
011011+ 001100=-------0100111
Overflow
Risultato: 27+12 = -25
![Page 19: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/19.jpg)
37+ 52=--- 89
89-64 = 25
Overflow
Risultato: -27-12 = 25
-27 64-27= 37 -12 64-12= 52
100101+ 110100=-------1011001
![Page 20: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/20.jpg)
Rappresentazione decimale e binaria dei razionali
5 : 4 = 1,25 10 20 0
54
1,2510
in binario
101100
101 : 100 = 1,01 100 0
1,012
parte interabinaria
parte frazionaria binaria
parte interadecimale
parte frazionaria decimale
![Page 21: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/21.jpg)
7 : 3 = 2,33.. 10 10 1
73
in binario
11111
111 : 11 = 10,01001001.. 0100 100 100
2,333..10 =
2,310
10,0100100..2
= 10,0102
Esempio 1
![Page 22: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/22.jpg)
7 : 5 = 1,4 20 0
75
in binario
111101
111 : 101 = 1,0110001000.. 1000 110 1000 110 1000
1,410
1,0110001000..2
= 1,0110002
Esempio 2
![Page 23: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/23.jpg)
3,141592....10
in binario
?
Irrazionali
![Page 24: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/24.jpg)
0,1101001
2-1+ 2-2 + 2-4 + 2-7
Parte frazionaria
![Page 25: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/25.jpg)
0,1101001
moltiplicare per 2 significa spostare la virgola di un posto a destra
1,101001
2-1 2-2...
20 2-1.......
Trucco
![Page 26: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/26.jpg)
allora 2 0,99 = 1,98 = b1,b2b3...bk
quindi b1 è 1
e 0,98 è rappresentato da 0,b2b3...bk
Esempio 1
0,99 (decimale) = 0,b1b2b3...bk (binario)
![Page 27: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/27.jpg)
0,592= 1,180,182= 0,360,362= 0,72
0,722= 1,440,442= 0,880,882= 1,76
0,100101...
rappresentazione binaria di 0,59
Esempio 2
![Page 28: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/28.jpg)
1 8 23
s e+127 m
Rappresenta:
x = s 2e · 1,m
implicito
Rappresentazione dei reali
![Page 29: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/29.jpg)
Estensione dei numeri invirgola mobile
0 e 255 sono esponenti riservati:
1 e+127 254 quindi
-126 e 127
![Page 30: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/30.jpg)
12,65 1100, ???
0,652 = 1.30 0,302 = 0.60 0,602 = 1.20 0,202 = 0.40 0,402 = 0.80 0,802 = 1.60 …..
101001...
Esempio
![Page 31: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/31.jpg)
1100,101001... = 23 1,100101001...
mantissa = 1,100101001...
esponente 3 e quindi 3+127 = 130
esponente = 10000010
segno = 0
0 10000010 100101001...
Esempio cont.
![Page 32: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/32.jpg)
Rappresentazione dei Reali “piccoli”
1 8 23
s 0 m
Rappresenta:
x = s 2-126 0,m
implicito
0 0,m < 1 quindi -2-126 < x < 2-126
![Page 33: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/33.jpg)
Rappresentazione dei Reali “grandi”
1 8 23
s 255 0
Rappresenta: Si può ottenere come risultato di qualche operazione aritmetica (es: divisione per 0).
Se lo si usa come operando in una operazione aritmetica si ha un errore.
![Page 34: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/34.jpg)
quanti reali si rappresentano?
con una parola, cioè 32 bits possiamo rappresentare 232 cose, quindi al più 232 reali, la novità è che questi valori non sono distribuiti uniformemente come gli interi ma sono maggiormente concentrati in vicinanza dello 0 e si diradano sempre più allontanandosi dallo 0.
![Page 35: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/35.jpg)
Distribuzione disuniformeh=2 bits di mantissa e k=3 di esponente.Rappresentazione dell’esponente:
0 000 00 =0 000 01 =0 000 10 =0 000 11 =0 001 00 =0 001 01 =0 001 10 =0 001 11 =0 010 00 =0 010 01 =0 010 10 =0 010 11 =
02-2 ·2-2
2-2 ·2-1
2-2 ·(2-1 +2-2 )2-2 ·1 = 4/322-2 ·(1+2-2 )2-2 ·(1+2-1)2-2 ·(1+2-1 +2-2 )2-1 ·12-1 ·(1+2-2 )2-1 ·(1+2-1) 2-1 ·(1+2-1 +2-2 )
= 0= 0.0625= 0,125= 0,1875= 0,25= 0,3125= 0,375 = 0,4375 = 0,5= 0,625= 0,75= 0,875
312 1 ee k
![Page 36: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/36.jpg)
20 ·120 ·(1+2-2 )20 ·(1+2-1)20 ·(1+2-1 +2-2 )21 ·121 ·(1+2-2 )21 ·(1+2-1) 21 ·(1+2-1 +2-2 )22 ·1 = 422 ·(1+2-2 )22 ·(1+2-1)22 ·(1+2-1 +2-2 )23 ·123 ·(1+2-2 )23 ·(1+2-1)23 ·(1+2-1 +2-2 )
0 011 00 =0 011 01 =0 011 10 =0 011 11 =0 100 00 =0 100 01 =0 100 10 =0 100 11 =0 101 00 =0 101 01 =0 101 10 =0 101 11 =0 110 00 =0 110 01 =0 110 10 =0 110 11 =0 111 00 =
= 1= 1,25= 1,5= 1,75 = 2= 2,5= 3= 3,5= 4= 5= 6 = 7 = 8= 10= 12= 14=
Distribuzione disuniforme cont.
![Page 37: Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili](https://reader035.vdocumenti.com/reader035/viewer/2022062512/5542eb57497959361e8c1848/html5/thumbnails/37.jpg)
0 8 4 2 1
0 1 0,5
0,2
5
0,1
25
14 12 10
Distribuzione disuniforme cont.