Number.MIN_VALUE di Javascript
La proprietà Number.MIN_VALUE è una costante che indica il valore positivo più vicino allo zero utilizzabile in Javascript senza perdita di precisione
Number.MIN_VALUE
Si tratta di una costante predefinita memorizzata nell'oggetto Number.
Quando i calcoli sono effettuati tra valori molto vicini allo zero, il calcolo risente della perdita di precisione.
Nota. Secondo lo standard IEEE 754, il valore minimo rappresentabile senza perdita di precisione in Javascript è approssimativamente uguale a 5 x 10-324. $$ 5 \cdot 10^{-324} $$ Questo è dovuto al fatto che la rappresentazione in virgola mobile a precisione doppia è comunque limitata in un linguaggio di programmazione. Pertanto, con valori molto piccoli aumenta il rischio di ottenere un risultato non preciso.
Un esempio pratico
Questo script effettua un calcolo con valori molto prossimi allo zero
<script>
// assegno MIN_VALUE a x
let x = Number.MIN_VALUE;
document.write(x);
// divido x per 2
let y = x/2;
document.write(y);
</script>
In questo script assegno alla variabile x il valore minimo Number.MIN_VALUE e lo stampo.
E' valore infinitesimale, molto vicino allo zero, ma è comunque un numero positivo pari a 5 x 10-324.
5e-324
Poi divido x per 2 e assegno il risultato alla variabile y.
Infine, stampo, il risultato dopo l'operazione matematica.
0
Il risultato x/2 è uguale a zero ma questo è impossibile, perché il dividendo è un numero positivo (non nullo).
Qualsiasi numero non nullo diviso per due è ancora un numero non nullo.
Pertanto, il calcolo diventa inaffidabile a questo livello di precisione.
Nota. E' importante fare attenzione a questo aspetto. In particolar modo, quando si lavora con dati scientifici molto vicino allo zero, occorre considerare i limiti di precisione della rappresentazione a virgola mobile in JavaScript e in qualsiasi altro linguaggio di programmazione che utilizza lo standard IEEE 754.