Originariamente inviato da Il Pazzo
intanto perchè la precisione macchina è fatta in float e non in double?
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"); }
Il risultato è uguale ...
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)