2

理論的に等しい 2 つの倍精度数の間の減算では、何桁の違いが予想されますか?

2 つの倍精度配列があります。それらは理論的には同じであると予想されます。どちらもまったく異なる 2 つの方法で計算されているため、両者の間には数値的な違いがあります。要素ごとにチェックしたところ、最大の差は 6.5557799910909154E-008 でした。上司は、倍精度でこれは非常に大きな差だと言っていますが、E-008 のオーダーの差であれば問題ないと思いました。

ありがとう、プラディープ

4

1 に答える 1

3

倍精度浮動小数点の形式は次のとおりです。

  • 符号ビット: 1 ビット
  • 指数幅: 11 ビット
  • 有効桁数の精度: 53 ビット (明示的に格納された 52 ビット)

これにより、15 桁から 17 桁の有効桁数の精度が得られます。10 進数の有効桁数が最大 15 の 10 進文字列を IEEE 754 倍精度に変換してから、同じ桁数の有効桁数に戻す場合、最終的な文字列は元の文字列と一致する必要があります。また、IEEE 754 倍精度が 10 進数の有効桁数が 17 以上の 10 進数文字列に変換されてから倍精度に戻される場合、最終的な数値は元の数値と一致する必要があります。

単精度浮動小数点の形式は次のとおりです。

  • 符号ビット: 1 ビット
  • 指数幅: 8 ビット
  • 有効桁数の精度: 24 (明示的に格納された 23)

これにより、10 進数の有効桁数が 6 ~ 9 桁になります (10 進数の有効桁数が最大 6 桁の 10 進文字列が IEEE 754 単精度に変換され、次に同じ有効桁数に変換された場合、最終的な文字列は元の文字列と一致する必要があります。また、 IEEE 754 の単精度が 9 桁以上の有効桁数を持つ 10 進文字列に変換されてから単精度に戻される場合、最終的な数値は元の数値と一致する必要があります。

発生している最大の差は、単精度への変換に似た精度の損失を示しています。

どちらの方法がより正確か知っていますか? 主な違いは計算速度と精度のトレードオフですか、それとも数値的に安定していないアルゴリズムの 1 つですか? 入力の精度は?入力がそれほど正確でない場合、小数点以下 8 桁の精度の違いは関係ない可能性があります... または、惑星の軌道上に火星がないことを意味する可能性があります。

于 2013-03-19T07:15:20.247 に答える