Originariamente inviato da Il Pazzo
intanto perchè la precisione macchina è fatta in float e non in double?Il risultato è uguale ...codice:#include <iostream.h> #include <stdlib.h> double Precisione(){ double epsilon=1.0; while((1+epsilon)>1.0) epsilon /= 2.0; return epsilon; } float Precisione1(){ float epsilon=1.0; while((1+epsilon)>1.0) epsilon /= 2.0; return epsilon; } void main(){ cout<<Precisione()<<endl<<Precisione1()<<endl<<endl; system("pause"); }
Se compili in gcc a 64 bit forse si usa il float perchè è uguale al double del gcc a 32 bit...
(non so se l'algoritmo è corretto)

Rispondi quotando