#include #include // // estimate machine epsilon // For double precision, expect eps = 2^-53 int main() { float f1,f2,res; double d1,d2,res2,diff; d2 =1.12345678902000000000000; d1 =1.12345678901234567890123; //d2-d1 =0.00000000000765432109877 diff =7.65432109877e-12; f2=d2; f1=d1; res = f2-f1; res2 = d2-d1; printf("original numbers in double %27.21lf \t%27.21lf \n", d2,d1); printf("original numbers in float %27.21lf \t%27.21lf \n", f2,f1); printf("float and double differences %23.18lf \t%13.11E \n", res, res2); printf("\nrelative error using doubles %E \n",(res2-diff)/diff); return 0; }