ragazzi devo calcolare in c l'epsilon macchina, ho provato a scrivere l'algoritmo in questo modo, ma senza risultato, dov'è il problema ?
codice:
#include<stdio.h>
#include<stdlib.h>
float epsilon_sing_prec(float base1);
double epsilon_dopp_prec(double base2);
int main()
{ float base1,eps1;
double base2,eps2;
printf("Inserisci la base per calcolare l'epsilon macchina in singola precisione \n");
scanf("%f",&base1);
eps1=epsilon_sing_prec(base1);
printf("In singola precisione l'epsilon macchina è: %f \n",eps1);
system("PAUSE");
printf("Inserisci la base per calcolare l'epsilon macchina in doppia precisione \n");
scanf("%e",&base2);
eps2=epsilon_dopp_prec(base2);
printf("In doppia precisione l'epsilon macchina è:\n %e",eps2);
system("PAUSE");
return 0;
}
float epsilon_sing_prec(float base1)
{float x;
x=1.0;
while((1+x)>1.0)
{x/=base1;
}
return x;
}
double epsilon_dopp_prec(double base2)
{double x;
x=1.;
while((1+x)>1.0)
{x/=base2;
}
return x;
}