Domande taggate «floating-point»

I numeri in virgola mobile sono approssimazioni di numeri reali che possono rappresentare intervalli maggiori di numeri interi ma utilizzano la stessa quantità di memoria, a costo di precisione inferiore. Se la tua domanda riguarda piccoli errori aritmetici (ad es. Perché 0,2 + 0,1 equivalgono a 0,300000001?) O errori di conversione decimali, leggi la pagina "info" collegata di seguito prima di pubblicare.

3
Perché NaN - NaN == 0.0 con il compilatore Intel C ++?
È noto che i NaN si propagano in aritmetica, ma non sono riuscito a trovare alcuna dimostrazione, quindi ho scritto un piccolo test: #include <limits> #include <cstdio> int main(int argc, char* argv[]) { float qNaN = std::numeric_limits<float>::quiet_NaN(); float neg = -qNaN; float sub1 = 6.0f - qNaN; float sub2 = …
300 c++  c  floating-point  ieee-754  icc 




2
Perché alcuni confronti float <interi sono quattro volte più lenti di altri?
Quando si confrontano float con numeri interi, alcune coppie di valori richiedono molto più tempo per essere valutate rispetto ad altri valori di grandezza simile. Per esempio: &gt;&gt;&gt; import timeit &gt;&gt;&gt; timeit.timeit("562949953420000.7 &lt; 562949953421000") # run 1 million times 0.5387085462592742 Ma se il float o l'intero viene ridotto o ingrandito …





12
Quando dovrei usare il doppio anziché il decimale?
Posso citare tre vantaggi nell'uso double(o float) invece di decimal: Usa meno memoria. Più veloce perché le operazioni matematiche in virgola mobile sono supportate nativamente dai processori. Può rappresentare un intervallo più ampio di numeri. Ma questi vantaggi sembrano applicarsi solo alle operazioni di calcolo intensivo, come quelle che si …






Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.