La Rappresentazione Dell`Informazione Finalità e Vincoli

La Rappresentazione
Dell’Informazione
Parte II
La rappresentazione
dei numeri nei sistemi
di elaborazione
Finalità e Vincoli
Finalità
–
Rappresentare in forma operazionale e compatta le
informazioni numeriche
Vincoli
–
I sistemi di elaborazione sono costituiti da componenti
elementari che operano in due soli stati possibili
Semplicità di costruzione
Maggiore affidabilità
–
2
La disponibilità delle risorse è limitata (p.e. i registri della CPU
hanno una dimensione limitata)
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
1
Scelta del tipo di rappresentazione
Rappresentazione operazionale e compatta ⇒
sistema di numerazione posizionale
Componenti a due stati ⇒
sistema di numerazione binario
Cifre del sistema binario:
–
–
Convenzionalmente indicate con 0 e 1
Fisicamente realizzate mediante:
Differenze di potenziale elettrico
Polarizzazioni elettromagnetiche
3
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
Operazioni nel sistema di
numerazione binario
La numerazione avviene adottando il sistema del
riporto
0,1, 10, 11, 100, 101, 110, 111, …
Addizione
0 1
0 0 1
1 1 10
Moltiplicazione
–
4
Si sommano i prodotti parziali, che risultano essere 0 o una
esatta replica del moltiplicando
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
2
La Rappresentazione Dei Numeri
Naturali
Alcune definizioni
–
–
Numero naturale ⇔ intero senza segno
Cifra binaria ⇔ bit (binary digit)
Un numero naturale è rappresentato da una
stringa di bit di lunghezza fissa
–
–
5
La lunghezza fissa è dovuta alla limitatezza delle
risorse
Conseguenza: non tutti i numeri naturali possono
essere rappresentati su una macchina
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
Interi Senza Segno
La lunghezza dipende dal tipo di CPU
–
–
–
–
8 bit per Z80, 8080
8, 16 bit per 8086, 80286
8, 16, 32 bit per 80386, 80486, Pentium®
8, 16, 32, 64 bit per Itanium®
Se n è il numero di bit utilizzati, si possono
rappresentare numeri da 0 a 2n-1
–
–
6
Se il risultato di un’operazione è maggiore di 2n-1, si ha una
condizione di overflow
Se il risultato di un’operazione è minore di 0, si ha una
condizione di underflow
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
3
La Rappresentazione Dei Numeri
Relativi
Definizione
–
Numero relativo ⇔ intero con segno
Necessità di rappresentare il segno del numero
–
–
–
Rappresentazione grandezza e segno
Rappresentazione in complemento a 1
Rappresentazione in complemento a 2
Dati n bit: 1 bit per il segno, n-1 per la grandezza del
numero
7
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
Rappresentazione
Grandezza e Segno
Dati n bit:
–
–
1 bit è destinato al segno
n-1 bit destinati alla
grandezza
Vantaggi
☺
(-15)10 = (10001111)2
(+15)10 = (00001111)2
Facile comprensione
Svantaggi
Difficile implementazione
di somma e sottrazione
Ambiguità dello zero
8
(00000000)2 = +0
(10000000)2 = - 0
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
4
Complemento a 1 di interi binari
E’ definito come differenza del numero dal
massimo intero rappresentabile
Dati n bit e x≥0, x ≤ 2n-1
–
Il complemento a 1 di x è 2n-1-x
In pratica, si invertono i bit di x
11111111 00101001
11010110
9
x
complemento a 1
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
Rappresentazione in
Complemento a 1
Un intero con segno si
rappresenta come il
complemento a 1 del
corrispondente intero
senza segno
Intervallo di
rappresentabilità:
[-(2n-1-1), 2n-1-1]
Vantaggi
☺
Facile implementazione della
somma. La sottrazione è
trattata come una somma
Svantaggi
Ambiguità dello zero
Differenza implementata
come somma + inversione
a ,b ≥ 0 :
a − b = a + (2n − b − 1) − ( 2n − 1) =
(
= a + b ′ − 2n − 1
10
L. Borrelli - La Rappresentazione dell'Informazione
)
A.A. 2002/2003
5
Complemento a 2
di un intero binario
E’ definito come differenza del numero dalla
potenza di 2 immediatamente superiore al
massimo intero rappresentabile
Dati n bit e x≥0, x ≤ 2n-1:
–
Il complemento a 2 di x è 2n-x
In pratica, si invertono i bit di x e si aggiunge 1
100000000 00101001
11010111
11
x
complemento a 2
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
Rappresentazione in
Complemento a 2
Un intero con segno si
rappresenta come il
complemento a 2 del
corrispondente intero
senza segno
Intervallo di
rappresentabilità:
[-2n-1, 2n-1-1]
12
Vantaggi
☺
Facile implementazione
della somma. La
sottrazione è trattata
come una somma
a ,b ≥ 0 :
a − b = a + (2n − b ) − 2n =
a + b ′ − 2n
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
6
Esercizio
Rappresentazione del numero +3:
00000011
Rappresentazione del numero -3
–
–
–
13
Grandezza e segno:
Complemento a 1:
Complemento a 2:
10000011
11111100
11111101
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
Esercizio
Applicando la rappresentazione con complemento a 2,
calcolare:
5-3
5 00000101
3 00000011
5-3
2
14
-3 11111101
00000101+
11111101
100000010
3-7
3 00000011
7 00000111
3-7
-4
-7 11111001
00000011+
11111001
11111100
il riporto è scartato
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
7
La Rappresentazione Dei Numeri
Reali
I numeri reali non sono rappresentabili!
–
–
Si possono rappresentare solo alcuni numeri razionali
Data l’elevata precisione che si può raggiungere con gli attuali
calcolatori, si parla impropriamente di rappresentazione dei
numeri reali
Esistono due forme di rappresentazione dei numeri
reali
–
–
15
Rappresentazione in virgola fissa
Rappresentazione in virgola mobile
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
Rappresentazione in Virgola Mobile
(Floating-point)
Notazione scientifica
X = M × BE
MANTISSA
BASE
ESPONENTE
Esempi
–
–
16
3,14 = 0,314x101 = 3,14x100 = 31,4x10-1
0,000001 = 0,1 x 10-5 =1,0 x 10-6
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
8
Rappresentazione in Virgola Mobile
(Floating-point)
Si assegnano n bit per la mantissa, m bit per
l’esponente (in complemento a 2) e 1 bit per il segno
Standard IEEE 754 (singola precisione: 32 bit)
SEGNO
s ESPONENTE
1 bit
8 bit
Parte significativa MANTISSA
23 bit
Standard IEEE 754 (doppia precisione: 64 bit)
SEGNO
s ESPONENTE
1 bit
11 bit
Parte significativa MANTISSA
52 bit
X = (-1)s × (1. parte significativa) × 2 ESPONENTE-eccesso
17
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
Esempi
0 01111110 000000000000000… … ……00000000000
(01111110)2 = 26 + 25 + 24 + 23 + 22 + 21 = 126
X = (-1)0 ×(1.0) 2 × 2 126-127 = 1.0 × 2 -1 = 0,5
1 01111110 110000000000000… … ……00000000000
(01111110)2 = 26 + 25 + 24 + 23 + 22 + 21 = 126
X = (-1)1 ×(1.11)2 × 2 126-127 = -(1.00+1/2+1/4)10 × 2 -1 =
- 1.75 × 0.5 = -0.875
18
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
9
Overflow
Si verifica quando l’esponente diviene troppo
grande (non più rappresentabile con gli 8 bit
assegnati)
–
–
19
In singola precisione, il valore più grande possibile
sarebbe:
(11111111)2 – (127)10 = ( 28 – 1) – (127)10 =
= 255 –127 = 128
In realtà l’esponente (11111111)2 viene riservato
per indicare situazioni anomale. Quindi il più
grande esponente rappresentabile è 127.
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
Underflow
Si verifica quando l’esponente diviene troppo
piccolo (non più rappresentabile con gli 8 bit
assegnati)
–
–
20
In singola precisione, il valore più piccolo possibile
sarebbe:
(00000000)2 – (127)10 = – 127
In realtà l’esponente (00000000)2 viene riservato
per rappresentare lo zero. Quindi il più piccolo
esponente utilizzabile è -126.
L. Borrelli - La Rappresentazione dell'Informazione
A.A. 2002/2003
10