PDA

Visualizza la versione completa : [C] determinazione epsilon macchina


sweetilary
04-02-2013, 12:52
determinazione dell'epsilon macchina (singola e doppia precisione). calcolo (stima) di rmin (singola e doppia precisione). io l'ho fatto così:



#include <stdio.h>
/*prototipo della funzione EPSILON_MACCHINA */
float EPSILON_MACCHINA (int b, float E);
main ( )
{
/*dichiarazione di variabili */
float E, epsilon;
int base;
E =1.0;
base =2;
/*richiamo della funzione EPSILON_MACCHINA */
epsilon =EPSILON_MACCHINA (base, E); /*stampa risultato */
printf (“\nEpsilon macchina=%.16f\n”, epsilon);
}

float EPSILON_MACCHINA (int b, float E)
{
/*dichiarazione di variabili */
float eps, E2;
while (E2!=1)
{
eps =E;
E =E/(float)b;
E2 =E+1;
}
/*ritorna il valore dell’epsilon */
return eps;
}


Per la precisione doppia devo cambiare FLOAT con DOUBLE
pensate sia corretto?

MItaly
04-02-2013, 15:02
Dovrebbe essere corretto; comunque, evita i nomi tutti in maiuscolo, per convenzione si usano per le macro.

(tra parentesi, il linguaggio di riferimento va indicato nel titolo, qui lo aggiungo io, in futuro ricordatene)

Loading