printf
を使用してfloat
の値を出力すると、精度が制限されます。浮動小数点型の精度printf
#include <stdio.h>
int main()
{
float f = 1318926965; /* 10 random digits */
printf("%10.f\n", f); /* prints only 8 correct digits */
printf("%10d\n", *(int*)&f); /* prints all digits correctly */
return 0;
}
を、人々はより頻繁にこのトリックを使用していない、なぜ私の質問は、次のとおりです。この例が示すように
しかし、出力の精度を向上させるコツは、ありますか?
潜在的に未定義の動作が悪いため。 (編集:技術的には、規格が何を言っているのか分からないので、未定義の振る舞いではないかもしれませんが、エンディアンはあなたにこれをかけることができます) – Corbin
良い4月1日のジョーク+1! – Henrik
それは明らかに私をxxにした。 – Corbin