古い実証済みの真の printf() 関数では適切な方法で出力できない浮動小数点値の配列に遭遇しました。問題は、数値の範囲が膨大であることだと思います... -3.66542e-296 から +9.5543e+301 のような小さな数値と、その間の多くの値。
通常、値は互いに関連性が高く、%23.16f のようなものが機能します。しかし、これらの巨大な数では、f 指定子は機能しません。数十から数百桁を出力する (サイズ指定をオーバーフローする) ためです。これにより、e 形式 (または、printf() で e 形式と f 形式を切り替えることができる g 形式) が残ります。
値の範囲が広いために e または g 指定子を採用せざるを得ない場合、次の方法はありますか?
- すべての値の小数点を互いに揃えます。
- すべての値の (指数の) e を互いに整列させます。
- e に続く桁数を固定 (常に同じ) にします。
ほぼすべての目的で、#1 が最適なオプションです。ほとんどの場合、役に立ちます。しかし、この状況では、きちんとした読みやすいコラムを作成することは不可能に思えます...何かが欠けている場合を除きます。