determinazione dell'epsilon macchina (singola e doppia precisione). calcolo (stima) di rmin (singola e doppia precisione). io l'ho fatto così:
Per la precisione doppia devo cambiare FLOAT con DOUBLEcodice:#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; }
pensate sia corretto?

Rispondi quotando