I’m having a problem with precision on the printf("%g", …).
If I print out frequency to a file using,
frequency = (float)1.0 / 3.0;
fprint(filePtr, “%g\n”, frequency);
The value in the file for frequency is 0.333333
When I read the frequency back, the value is off by a little, which affect
the program values.
If I change the frequency in the file to 0.33333333, then the program gets
the correct value and works okay.
If I enter the time interval of 3 seconds and then compute frequency from
this, it always works.
Is there a way to change the precision for printf("%g", …)? I need the
nice formatting from the %g, so I don’t want to go to the %f.
Any way of working around this?
I have tried floats and doubles and I get the same type of problem.