Vedo che alcune persone scrivono il codice in cui l'uso casuale di qualcosa che necessita di virgola mobile viene dichiarato di utilizzare un tipo float
(in C/C++). Questa non è una matrice enorme in cui lo spazio è importante, o che cerca di adattarsi di più a SIMD, o qualcosa del genere. Piccole cose come ridimensionare un valore di una percentuale o trovare un rapporto tra le quantità.`float` vs` double` in calcoli singoli casuali?
Avevo sempre usato double
e considerato float
essere solo per quando lo spazio era veramente importante. Ricordo i giorni in cui le CPU desktop non avevano hardware in virgola mobile e si poteva dire qualcosa sulle prestazioni della libreria software, ma con il primo co-processore '287 la precisione nativa era di 80 bit e lo float
era solo per il lungo memorizzazione temporanea dei valori nella RAM o nei file e non ha influito sulla velocità di calcolo di un iota.
Oggi, c'è qualche motivo per utilizzare float
invece di double
in modo abituale? Situazione 1: specifico per hardware PC/Mac; Situazione 2: codice portatile che può essere presente su desktop e dispositivi mobili come telefoni.
Devo educare la mia squadra il modo in cui mi ricordo: Hey, sai, float
è una cosa a metà dimensioni e double
è normale. o c'è qualche compromesso o motivo per cui i programmatori C++ userebbero float
ovunque e apparentemente (al mio POV) non sapevo che esistesse lo double
?
La mia domanda non è specifica per la lingua, ma la mia terminologia è che float
è 4 byte e double
è 8 byte.
Sono d'accordo sul fatto che il doppio debba essere usato a meno che non ti interessi delle prestazioni o delle dimensioni del POD. Immagino che ci fosse un tempo in cui le persone preferivano "breve" a "int" per le stesse ragioni, ma ora meno rilevanti. –
Non penso che sia importante per le prestazioni anche per gli usi una tantum. –
Correlati: http://stackoverflow.com/questions/1074474/should-i-use-double-or-float –