C言語なら俺に聞け(入門編)Part 102
■ このスレッドは過去ログ倉庫に格納されています
0321デフォルトの名無しさん
2012/06/12(火) 20:25:48.12fprintf(fp, "%E\n", a);
とすると、1.970200E+03
fprintf(fp, "%f\n", a);
とすると、1970.199707
と精度が違っていて、
scanf(fp, "%E", &b); で 1.970200E+03 を読み取ると
bは%Eだと 1.970200E+03 ですが、 %f だと 1970.199951 になります。
%fだと精度が高いのはなぜですか?
あとこれだと、
fabsf(a - b) <= FLT_EPSILON * max(fabsf(a), fabsf(b))
がFALSEなので比較しても一致しません。
fprintfとfscanfでfloatの値を変えずに読み書きするにはどうしたらいいですか?
■ このスレッドは過去ログ倉庫に格納されています