別のプログラム内で使用される浮動小数点リテラルを出力するプログラムを作成しています。
元の float の精度を維持するには、何桁印刷する必要がありますか?
float24 * (log(2) / log(10)) = 7.2247199
の精度は 10 進数なので、最初は 8 桁で十分だと思いました。しかし、運が悪いと、0.2247199
有効数字 7 桁の左右に分散されるので、10 進数 9 桁を表示する必要があります。
私の分析は正しいですか?すべてのケースで 9 桁の 10 進数で十分ですか? のようにprintf("%.9g", x);
?
float をその値に必要な最小桁数の文字列に変換する標準関数はありますか?7 または 8 で十分な場合、不要な数字を出力しませんか?
注: 標準の C++ ではサポートされていないため、16 進浮動小数点リテラルは使用できません。