Quote:
Originariamente inviato da Mercuri0
Cosa servano gli FP64 per un videogioco non lo so, ma la precisione dei numeri in virgola mobile non c'azzecca granché con l'esempio che hai fatto, è un discorso di errore relativo (e arrotondamento, per gli algoritmi, perché spostandosi la virgola si modifica l'errore assoluto, che è più grande per i numeri più grandi, più piccolo per quelli più piccoli.) Non è che con una precisione di 10^-16 scrivi le distanze tra le stelle con la precisione atomica, eh. 1,2metri 1,2kilometri o 1,2micron o 1,2armostrong sono numeri "in virgola mobile" scritti con la stessa precisione, che è data dal numero delle cifre significative. E in virgola mobile 1,2kilometri - 1,2metri= 1,2kilomtetri. E 1.2km - 1.2m -1,2m -1,2m..... (anche migliaia di volte) fa sempre 1,2 kilometri. Per non parlare del casino che succede con le moltiplicazioni
Comunque, sono davvero OT.
|
La virgola mobile si chiama così proprio perchè hai la possibilità di mettere la virgola dove ti pare, e quindi rappresentare un maggior numero di numeri decimali oppure interi. :/
Avendo 6 numeri posso quindi rappresentare 10000,0 oppure 0,00001
Nel caso mi trovi a dover far calcoli con numeri piccoli utilizzerò quindi una posizione della virgola più a sinistra (come nel secondo caso), al contrario se lavoro con numeri grandi la metterò a destra (come nel primo caso)
Se, come hai detto, ci sono un po' piccoli, e un po' grandi, la metterò nel mezzo fra i due... Quindi 1200,00 - 0001,20 = 1198,80
Tutto sta nel decidere il mio fondo scala.
p.s. Per le stelle utilizzerò quindi un 10^16 (guardacaso, il Parsec), non 10^-16 !