La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili.

Presentazioni simili


Presentazione sul tema: "Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili."— Transcript della presentazione:

1 Rappresentazione dei dati

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

3 Gli interi nel computer e i negativi ? Con 32 bit rappresento 2 32 numeri distinti. Con n bit b n-1 …b 1 b 0 : b0b0 b1b1 b2b2 b n-3 b n-2 b n-1 2020 21212 2 n-3 2 n-1 2 n-2

4 Riserviamo il primo bit per il segno: 0 = positivo 1 = negativo. I numeri positivi rappresentabili sono quelli compresi tra 0 e 2 n-1 -1 Gli interi nel computer sb0b0 b1b1 b n-3 b n-2 b n-1 +/-2020 2121 2 n-3 2 n-1 2 n-2

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

6 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

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

8 Complemento a due Si complementa il valore assoluto del numero a 2 n invece che a 2 n -1. Esempio con n = 6 bit: la rappresentazione di –10 è: 64- 10= --- 54 1000000- 001010= ------- 0110110 in binario

9 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

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

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

12 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

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

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

15 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

16 106-64=42 bit di overflowcomplemento 64-42 = 22 verifica -22 64-22= 42 Somma di numeri negativi 1101010 0*2 5 +1*2 4 +0*2 3 +1*2 2 +0*2 0 - 22

17 54+ 12= --- 66 Somma con un numero negativo (-10)+12 -10 64-10 = 54 110110+ 001100= ------- 1000010 Somma binariodecimale

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

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

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

21 7 : 3 = 2,33.. 10 1 7373 in binario 111 11 111 : 11 = 10,01001001.. 0100 100 2,333.. 10 = 2,3 10 10,0100100.. 2 = 10,010 2 Esempio 1

22 7 : 5 = 1,4 20 0 7575 in binario 111 101 111 : 101 = 1,0110001000.. 1000 110 1000 110 1000 1,4 10 1,0110001000.. 2 = 1,011000 2 Esempio 2

23 3,141592.... 10 in binario ? Irrazionali

24 0,1101001 2 -1 + 2 -2 + 2 -4 + 2 -7 Parte frazionaria

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

26 allora 2 0,99 = 1,98 = b 1,b 2 b 3...b k quindi b 1 è 1 e 0,98 è rappresentato da 0,b 2 b 3...b k Esempio 1 0,99 (decimale) = 0,b 1 b 2 b 3...b k (binario)

27 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,100101... rappresentazione binaria di 0,59 Esempio 2

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

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

30 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 ….. 101001... Esempio

31 1100,101001... = 2 3 1,100101001... mantissa = 1,100101001... esponente 3 e quindi 3+127 = 130 esponente = 10000010 segno = 0 0 10000010 100101001... Esempio cont.

32 Rappresentazione dei Realipiccoli 1 8 23 s 0 m Rappresenta: x = s 2 -126 0,m implicito 0 0,m < 1 quindi -2 -126 < x < 2 -126

33 Rappresentazione dei Realigrandi 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.

34 quanti reali si rappresentano? con una parola, cioè 32 bits possiamo rappresentare 2 32 cose, quindi al più 2 32 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 dellesponente: 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 = 0 2 -2 ·2 -2 2 -2 ·2 -1 2 -2 ·(2 -1 +2 -2 ) 2 -2 ·1 = 4/32 2 -2 ·(1+2 -2 ) 2 -2 ·(1+2 -1 ) 2 -2 ·(1+2 -1 +2 -2 ) 2 -1 ·1 2 -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

36 2 0 ·1 2 0 ·(1+2 -2 ) 2 0 ·(1+2 -1 ) 2 0 ·(1+2 -1 +2 -2 ) 2 1 ·1 2 1 ·(1+2 -2 ) 2 1 ·(1+2 -1 ) 2 1 ·(1+2 -1 +2 -2 ) 2 2 ·1 = 4 2 2 ·(1+2 -2 ) 2 2 ·(1+2 -1 ) 2 2 ·(1+2 -1 +2 -2 ) 2 3 ·1 2 3 ·(1+2 -2 ) 2 3 ·(1+2 -1 ) 2 3 ·(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.

37


Scaricare ppt "Rappresentazione dei dati. Rappresentazione digitale dei dati Memoria del calcolatore è finita Linsieme dei numeri (interi e reali) e dei caratteri rappresentabili."

Presentazioni simili


Annunci Google