isnan
, _isnan
, _isnanf
Menguji apakah nilai floating-point adalah NaN ("Bukan Angka").
Sintaks
int isnan(
/* floating-point */ x
); /* C-only macro */
int _isnan(
double x
);
int _isnanf(
float x
); /* x64 only */
template <class T>
bool isnan(
T x
) throw(); /* C++ only */
Parameter
x
Nilai floating-point untuk diuji.
Nilai hasil
Di C, isnan
makro dan _isnan
fungsi dan _isnanf
mengembalikan nilai bukan nol jika argumen x
adalah NaN; jika tidak, nilai tersebut mengembalikan 0.
Di C++, isnan
fungsi templat mengembalikan true
jika argumen x
adalah NaN; jika tidak, fungsi tersebut mengembalikan false
.
Keterangan
Karena nilai NaN tidak dibandingkan dengan dirinya sendiri atau dengan nilai NaN lainnya, untuk mendeteksinya, Anda harus menggunakan salah satu fungsi atau makro ini. NaN dihasilkan ketika hasil operasi floating-point tidak dapat diwakili dalam format titik pecahan IEEE-754 untuk jenis yang ditentukan. Untuk informasi tentang bagaimana NaN diwakili untuk output, lihat printf
.
Saat dikompilasi sebagai C++, isnan
makro tidak ditentukan, dan isnan
fungsi templat didefinisikan sebagai gantinya. Ini bereaksi dengan cara yang sama seperti makro, tetapi mengembalikan nilai jenis bool
alih-alih bilangan bulat.
Fungsi _isnan
dan _isnanf
khusus Microsoft. Fungsi _isnanf
ini hanya tersedia saat dikompilasi untuk x64.
Persyaratan
Rutin | Header yang diperlukan (C) | Header yang diperlukan (C++) |
---|---|---|
isnan , _isnanf |
<matematika.h> | <math.h> atau <cmath> |
_isnan |
<float.h> | <float.h> atau <cfloat> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Baca juga
Dukungan matematika dan titik mengambang
fpclassify
_fpclass
, _fpclassf
isfinite
, _finite
, _finitef
isinf
isnormal
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk