浮動小数点を使用した倍精度演算のエミュレーション
特定のシナリオでは、浮動小数点サポートが制限されている組み込みハードウェア システムでは、倍精度演算の必要性が発生する可能性があります。 -精密な機能。このため、単精度浮動小数点演算のみを使用してこれをどのように実現するかという問題が生じます。
倍精度値をエミュレートするには、2 つの単精度浮動小数点のタプルを含む構造体を利用する方法です。ダブルの高い部分と低い部分を表します。比較は辞書編集的な順序を使用して実行できます。
ただし、加算演算には課題があります。精度を確保するには、加算の基数を慎重に検討する必要があります。中間のアンダーフローまたはオーバーフローを避けるために、FLT_MAX (単精度浮動小数点で表現できる最大値) の倍数を使用することをお勧めします。
キャリーを検出するには、2 つの浮動小数点数の合計を、期待値。結果がゼロ以下の場合、桁上げが発生しています。
以下の参考文献は、GPU で単精度浮動小数点を使用した倍精度エミュレーションの技術に関する貴重な洞察を提供します。アーキテクチャ:
以上が単精度浮動小数点数を使用して倍精度演算をエミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。