C では、浮動小数点演算の実行中に NaN (Not-a-Number) 値の存在が発生する可能性があります。これらの特別な値を検出することは、プログラムの正確性を確保するために非常に重要です。
の存在について疑問に思っているかもしれません。 >isnan()関数。 MinGW では、ヘッダー ファイル
IEEE 浮動小数点標準では、NaN の興味深いプロパティが指定されています。 NaN 値: NaN を含む比較は常に false と評価されます。これは、浮動小数点変数 f をそれ自体 (f != f) と比較し、結果が true の場合、f が以下であることを明確に示していることを意味します。 NaN.
このトリックは理論的には次のコンパイラで機能するはずです。 IEEE 浮動小数点標準に準拠しているため、特定のコンパイラでその有効性を検証することが重要です。一部のコンパイラは、このアプローチを損なう方法でコードを最適化する場合があります。
信頼性が最優先される場合は、コンパイラのドキュメントを参照するか、経験的テストを実行して NaN 比較の動作を確認することをお勧めします。
以上がC で NaN 値を確実に識別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。