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