Numeri reali
galleggiante r = 5.0
Il valore
5.0
è un numero rappresentato come frazione decimale (ha un numero intero e una parte frazionaria). In informatica, tali numeri sono chiamati numeri reali.
Un numero reale è un numero che ha una parte intera e una parte frazionaria. Le parti intere e frazionarie sono separate l'una dall'altra da un punto, non da una virgola come in matematica.
Anche se la parte frazionaria del numero è uguale a zero, come nella variabile
r
nell'esempio, il compilatore creerà comunque una variabile reale in memoria. Il punto, per così dire, un segnale per il traduttore che è necessario creare una variabile reale.
I numeri molto grandi e molto piccoli vengono scritti utilizzando la "virgola mobile" (nel cosiddetto
formato scientifico).
In formato scientifico, un numero è rappresentato come
mantissa(parte significativa del numero) ed
esponente. Quando vengono scritti, la mantissa e l'esponente sono separati l'uno dall'altro dalla lettera
e
(che denota 10 in una certa misura).
Ad esempio, puoi memorizzare il valore della carica di un elettrone in una variabile
(
\(1,60217662 \times 10^{-19}\) Kl), scritto come
floatEl= 1.60217662e-19
// per un ordine positivo, il segno + può essere omesso
Quasi tutti i numeri reali non possono essere memorizzati nella memoria del computer con perfetta precisione, poiché per la loro memorizzazione viene allocato un numero limitato di bit. Pertanto, quando si calcola con numeri reali, si accumulano errori associati all'imprecisione della rappresentazione. Inoltre, minore è lo spazio allocato, maggiore sarà questo errore. Per ridurre l'errore in C++, viene utilizzato il tipo
double
, che memorizza un numero reale con doppia precisione in memoria (occupa otto byte in memoria, mentre il tipo
float
- 4 byte).