La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Rappresentazione dei dati

Presentazioni simili


Presentazione sul tema: "Rappresentazione dei dati"— Transcript della presentazione:

1 Rappresentazione dei dati

2 Rappresentazione digitale dei dati
Numeri interi (C++: int) Numeri reali (C++ float e double) Caratteri (C++ char) L’insieme dei numeri (interi e reali) e dei caratteri rappresentabili è finito Memoria del calcolatore è finita

3 Gli interi nel computer
Con 32 bit rappresento 232 numeri distinti. Con n bit bn-1…b1 b0: 20 21 22 2n-3 2n-2 2n-1 b0 b1 b2 bn-3 bn-2 bn-1 e i negativi ?

4 Gli interi nel computer
+/- 20 21 2n-3 2n-2 2n-1 s b0 b1 bn-3 bn-2 bn-1 Riserviamo il primo bit per il segno: 0 = positivo 1 = negativo. I numeri positivi rappresentabili sono quelli compresi tra 0 e 2n-1-1

5 Complemento a uno Si complementa a 2n-1 il valore assoluto del numero.

6 Rappresentazione dello 0
63- 0= --- 63 000000= 111111 in binario Con n = 6 si rappresentano i numeri: Rappr. Numero positivi negativi

7 Esempio 63- 10= --- 53 111111- 001010= ------- 110101 in binario
Esempio con n = 6 bit: la rappresentazione di –10 è: 63- 10= --- 53 001010= 110101 in binario

8 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 001010= in binario

9 Rappresentazione dello 0
Complementando 0 si ottiene ancora 0 in binario 64- 0= --- 64 ha gli ultimi 6 bit uguali a 0 000000=

10 Esempio Complementando 54 (che rappresenta –10) si ottiene in binario
64- 54= --- 10 ha il bit 6 uguale a 0(positivo) in binario 110110=

11 Esempio Complementando 32 (che rappresenta –32) si ottiene in binario
64- 32= --- 32 ha il bit 6 uguale a 1(negativo) 100000= in binario

12 Interi in complemento a due
Con n = 6 si rappresentano i numeri: positivi negativi Rappr. Numero

13 In generale: con n bits positivi n-1-1 negativi -2n

14 Somma Somma di numeri positivi: 10+12 decimale binario riporto 001000
12= --- 22 001100=

15 Somma di numeri negativi
-10  =  = 52 decimale binario 54+ 52= --- 106 110100=

16 Somma di numeri negativi
106-64=42 bit di overflow complemento 64-42 = 22 verifica -22  64-22= 42 0*25+1*24+0*23+1*22+0*20 - 22

17 Somma Somma con un numero negativo (-10)+12 decimale binario
-10  = 54 decimale binario 54+ 12= --- 66 001100=

18 Overflow 27+ 12= --- 39 011011+ 001100= ------- 0100111
64-39 =  64-25= 39 Risultato: = -25

19 Overflow -27  64-27= 37 -12  64-12= 52 37+ 100101+ 52= 110100= ---
-27  64-27=  64-12= 52 37+ 52= --- 89 110100= 89-64 = 25 Risultato: = 25

20 Rappresentazione decimale e binaria dei razionali
5 4 5 : 4 = 1,25 10 20 1,2510 parte intera decimale parte frazionaria decimale in binario 101 100 101 : 100 = 1,01 100 1,012 parte intera binaria parte frazionaria binaria

21 Esempio 1 2, = 2,310 7 : 3 = 2,33.. 10 1 7 3 in binario 111 11 111 : 11 = 10, 0100 100 10, = 10,0102

22 Esempio 2 7 : 5 = 1,4 20 7 5 1,410 in binario 111 101 111 : 101 = 1, 1000 110 1, = 1,

23 Irrazionali 3, in binario  ?

24 Parte frazionaria 0,

25 moltiplicare per 2 significa spostare la virgola di un posto a destra
Trucco moltiplicare per 2 significa spostare la virgola di un posto a destra 0, 1,101001

26 Esempio 1 allora 2 0,99 = 1,98 = b1,b2b3...bk quindi b1 è 1
0,99 (decimale) = 0,b1b2b3...bk (binario) allora 2 0,99 = 1,98 = b1,b2b3...bk quindi b1 è 1 e 0,98 è rappresentato da 0,b2b3...bk

27 rappresentazione binaria di 0,59
Esempio 2 rappresentazione binaria di 0,59 0,592= 1,18 0,182= 0,36 0,362= 0,72 0,722= 1,44 0,442= 0,88 0,882= 1,76 0,

28 Rappresentazione dei reali
s e m Rappresenta: x = s 2e · 1,m implicito

29 Estensione dei numeri in virgola mobile
0 e 255 sono esponenti riservati: 1  e+127  254 quindi -126  e  127

30 Esempio 12,65  1100, ??? 0,652 = 1.30 0,302 = 0.60 0,602 = 1.20 0,202 = 0.40 0,402 = 0.80 0,802 = 1.60 …..

31 Esempio cont. 1100, = 23  1, mantissa = 1, esponente 3 e quindi = 130 esponente = segno = 0

32 Rappresentazione dei Reali “piccoli”
s m Rappresenta: 0  0,m < 1 quindi < x < 2-126 x = s ,m implicito

33 Rappresentazione dei Reali “grandi”
s  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.

34 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.

35 Distribuzione disuniforme
h=2 bits di mantissa e k=3 di esponente. Rappresentazione dell’esponente: = = = = = = = = = = = = 2-2 ·2-2 2-2 ·2-1 2-2 ·( ) 2-2 ·1 = 4/32 2-2 ·(1+2-2 ) 2-2 ·(1+2-1) 2-2 ·( ) 2-1 ·1 2-1 ·(1+2-2 ) 2-1 ·(1+2-1) 2-1 ·( ) = 0 = = 0,125 = 0,1875 = 0,25 = 0,3125 = 0,375 = 0,4375 = 0,5 = 0,625 = 0,75 = 0,875

36 Distribuzione disuniforme cont.
= = = = = = = = = = = = = = = = = 20 ·1 20 ·(1+2-2 ) 20 ·(1+2-1) 20 ·( ) 21 ·1 21 ·(1+2-2 ) 21 ·(1+2-1) 21 ·( ) 22 ·1 = 4 22 ·(1+2-2 ) 22 ·(1+2-1) 22 ·( ) 23 ·1 23 ·(1+2-2 ) 23 ·(1+2-1) 23 ·( ) = 1 = 1,25 = 1,5 = 1,75 = 2 = 2,5 = 3 = 3,5 = 4 = 5 = 6 = 7 = 8 = 10 = 12 = 14 = 

37 Distribuzione disuniforme cont.


Scaricare ppt "Rappresentazione dei dati"

Presentazioni simili


Annunci Google