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...
#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...