0

デフォルトでは 4 桁の精度を取得してsetprecision(6)おり、変数の最後の桁を使用すると のようにランダムになります1/3=0.333369

4

1 に答える 1

4

float数値の桁数を格納するために 24 桁の 2 進数を使用するため、10 進数で約 7 桁の精度があります。出力に関する限り、setprecision(6)あなたが求めることができるすべてを行います。

たとえば、同様の値を持つ 2 つの数値を減算して結果を出力するなどして、精度が失われている可能性があります。簡単な解決策は、使用する計算をdoubleまたはに変更することlong doubleです。ただし、浮動小数点の結果の精度を保証するには、FP がどのように機能するかを理解し、数式がどのように計算されるかを分析する必要があります。

すべてのコンピューター科学者が浮動小数点演算について知っておくべきことを参照してください。

于 2013-01-02T10:50:55.243 に答える