Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
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,592= 1,18 0,182= 0,36 0,362= 0,72 0,722= 1,44 0,442= 0,88 0,882= 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,652 = 1.30 0,302 = 0.60 0,602 = 1.20 0,202 = 0.40 0,402 = 0.80 0,802 = 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.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.