Numeri in virgola mobile
Rappresentazione normalizzata dei numeri reali
In generale qualunque A può essere rappresentato da:
- S = segno di A (con la convenzione: 0 rappresenta + e 1 rappresenta -);
- M (mantissa) = cifre significative di A, rappresentate in una forma normalizzata; se sono le cifre utilizzate e B è la base del sistema di numerazione, l’intervallo di variabilità della mantissa in valore assoluto è: 1/B < M < 1;
- L’esponente (E) a cui bisogna elevare la base B per ottenere il fattore per cui moltiplicare la mantissa per ottenere A.
EA = S 0.M x B
1758.37 = 0.175837 4×10
- S = 0, M = 175837, E = +4
- -0.001 = -0.1 -2×10
- S = 1, M = 100000, E = -2
- 11 = 0.1×10
- S = 0, M = 100000, E = +1
- 45000 = 0.5×10
- S = 0, M = 500000, E = +4
Rappresentazione in virgola mobile
Per una rappresentazione effettiva si conviene di:
- Eliminare i simboli ridondanti;
- Fissare la lunghezza della mantissa;
- Fissare la lunghezza dell’esponente;
- Utilizzare per l’esponente una convenzione che permetta di rappresentare numeri positivi e negativi senza l’indicazione esplicita del segno (completo alla base o tecnica dell’eccesso, sommando una opportuna costante);
- Disporre gli elementi rimasti (segno, esponente, mantissa) in un ordine convenzionale.
Quindi il numero A viene rappresentato nella notazione in virgola mobile dalla sequenza: S E M
Esempi di formato dei dati numerici in virgola mobile
- Numeri reali in singola precisione: 32 bit (1 per il segno, 8 per l’esponente, 23 per la mantissa);
- Doppia precisione: 64 (1, 11, 52).
In singola precisione l’esponente varia quindi tra -128 e +127. Si parla di dinamica per descrivere l’intervallo dei numeri rappresentabili (dipende dal numero di bit dell’esponente): –2127 < N < 2127.
La mantissa di 23 bit permette di rappresentare numeri con circa 7 cifre decimali significative.
Per valori superiori a 1038 o inferiori a -1038 si parla di overflow (esponente positivo troppo grande, cioè > 127).
Per valori inferiori al minimo numero positivo rappresentabile (= 0) o superiori al massimo numero negativo rappresentabile si parla di underflow (esponente negativo troppo piccolo, cioè < -128).
Passi per ottenere la rappresentazione binaria
- Trasformazione in binario;
- Normalizzazione;
- Memorizzazione.
Riepilogo
- Conversione da base 10 a binario in virgola mobile;
- Conversione parte intera;
- Conversione parte frazionaria;
- Normalizzazione;
- Rappresentazione sul numero di bit.
-
Appunti Fondamenti di informatica
-
Fondamenti di Informatica - virgola fissa e mobile
-
Appunti di informatica
-
Appunti Fondamenti di Informatica teoria - algebra di boole