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.
Lihat juga
Dukungan matematika dan titik mengambang
fpclassify
_fpclass
, _fpclassf
isfinite
, , _finite
_finitef
isinf
isnormal