In un calcolo astronomico è necessario esprimere valori come la massa dell'elettrone (
Senza la notazione scientifica tali numeri sarebbero "dispendiosi" da rappresentare.
Notazione scientifica:
La rappresentazione informatica di questa notazione è la rappresentazione in virgola mobile o floating point.
Ecco una serie di esempi di numeri rappresentati (con notazione decimale) che sfruttano la notazione scientifica:
Numero | Rappresentazione possibile 1 | Rappresentazione possibile 2 | Rappresentazione possibile 3 |
---|---|---|---|
Come si nota dalla tabella sopra, la rappresentazione non è unica, cambiando i numeri prima o dopo la virgola o ancora l'esponente è possibile rappresentare lo stesso numero in modi diversi.
Tuttavia i valori:
Quello che si deve fare quindi è stabilire delle simili convenzioni per rappresentare i numeri in notazione scientifica in binario, come per esempio:
segno, esponente, mantissa
in un ordine stabilitoSegno | Esponente | Mantissa |
---|---|---|
+/- | usa la codifica in eccesso | la |
Esempio con numeri decimali:
Numero | Segno | Esponente | Mantissa |
---|---|---|---|
- | |||
+ |
Gli esponenti sono rappresentati in eccesso 50.
Quindi il
Adesso vediamo un esempio di rappresentazione floating point con numeri binari su 32 bit
Esempio:
Segno | Esponente eccesso 64 | Mantissa |
---|---|---|
0 |
esponente in eccesso 64:
Il range (gamma) di un numero in virgola mobile è determinata dal numero di cifre dell'esponente e la precisione dal numero di cifre della mantissa.
ATTENZIONE
Con i floating point in binario, si può simulare il sistema dei numeri reali, seppur con grandi differenze:
i numeri reali hanno la potenza del continuo, mentre i flaoting point sono in numero finito
Per esempio consideriamo rappresentazioni (espresse in base 10) con una mantissa di tre cifre con segno nel range
Ovviamente è possibile che si verifichi overflow come abbiamo già trattato precedentemente, con la notazione in floating si può verificare anche l'underflow.
Prima della fine degli 70' ogni produttore aveva un suo formato flaoting point, poi la IEEE (un comitato per gli standard) decise di formalizzare uno standard per l'aritmetica floating point: IEEE 754.