Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengenalpasti Nilai NaN dalam C dengan Boleh Dipercayai?

Bagaimanakah Saya Boleh Mengenalpasti Nilai NaN dalam C dengan Boleh Dipercayai?

Susan Sarandon
Susan Sarandonasal
2024-12-17 17:36:09466semak imbas

How Can I Reliably Identify NaN Values in C  ?

Mengenal pasti Nilai NaN dalam C

Dalam C , kehadiran nilai NaN (Bukan-Nombor) boleh timbul semasa menjalankan operasi titik terapung. Mengesan nilai istimewa ini adalah penting untuk memastikan ketepatan program.

Tidakkah terdapat fungsi isnan()?

Anda mungkin tertanya-tanya tentang kewujudan isnan() fungsi. Dalam MinGW, fail pengepala tidak menyediakan fungsi isnan(). Sebaliknya, anda harus memasukkan untuk mengakses kefungsian ini.

Harta Unik NaN

Piawaian titik terapung IEEE menentukan sifat yang menarik untuk Nilai NaN: sebarang perbandingan yang melibatkan NaN akan sentiasa dinilai palsu. Ini bermakna jika anda membandingkan pembolehubah titik terapung f dengan dirinya sendiri (f != f) dan hasilnya benar, ia secara jelas menunjukkan bahawa f ialah NaN.

Pertimbangan Pengkompil

Walaupun helah ini secara teorinya sepatutnya berkesan bagi penyusun yang mematuhi piawaian titik terapung IEEE, adalah penting untuk mengesahkan keberkesanannya dengan pengkompil khusus anda. Sesetengah penyusun mungkin mengoptimumkan kod dengan cara yang menjejaskan pendekatan ini.

Dalam kes di mana kebolehpercayaan adalah yang paling penting, adalah disyorkan untuk merujuk dokumentasi pengkompil anda atau melakukan ujian empirikal untuk mengesahkan kelakuan perbandingan NaN.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengenalpasti Nilai NaN dalam C dengan Boleh Dipercayai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn