|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jun 2017
Messaggi: 14
|
[C] Come calcolare l'epsilon macchina e rmin.
dovrei calcolare l'epsilon macchina e rmin , entrambi in singola e doppia precisione . questi sono i due programmi:
#include <stdio.h> void Singola_Precisione (float e, int b); void Doppia_Precisione(double e, int b); int main(void){ int base=2; float e=1.0; Singola_Precisione(e,base); Doppia_Precisione(e,base); return 0; } float Singola_Precisione(float e, int b){ float eps; while(1.0+e!=1){ e=e/(float)b; } printf("l'epsilon macchina in dippia precisione e' %.16f", e*2); } double Doppia_Precisione(double e, int b){ double eps; while(1.0+e!=1){ e=e/(double) b; } printf("l'epsilon macchina in dippia precisione e' %.32f", e*2); } rmin: #include <stdio.h> void r_min_Singola_Precisione(float e,int b); void r_min_Doppia_Precisione (double e,int b); int main(){ int b; float rmin; b=2; rmin=1.0; r_min_Singola_Precisione( rmin, b); r_min_Doppia_Precisione ( rmin, b); return 0; } void r_min_Singola_Precisione(float e,int b){ float rmin1; while(e!=0){ rmin1=e; e=rmin1/(float)b; } printf("rmin in singola precisione e' %.54f\n", e); } void r_min_Doppia_Precisione (double e,int b){ double rmin1; while(e!=0){ rmin1=e; e=rmin1/(double)b; } printf("rmin in doppia precisione e' %.32f\n", e); } nel primo esercizio mi trovo solo la precisione doppia e non capisco il perchè , mentre nell'rmin non mi trovo nessuno dei due... |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:25.