isnan
, _isnan
, _isnanf
浮動小数点値が NaN ("Not a Number") かどうかをテストします。
構文
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 */
パラメーター
x
テストする浮動小数点値。
戻り値
C では、引数x
が isnan
_isnan
NaN の場合、マクロと関数_isnanf
は 0 以外の値を返します。それ以外の場合は 0 を返します。
C++ では、引数が isnan
NaN の場合はテンプレート関数が返true
され、それ以外の場合false
x
は .
解説
NaN 値はそれ自体または他の NaN 値と等しいと比較されないため、1 つを検出するには、これらの関数またはマクロのいずれかを使用する必要があります。 NaN は、浮動小数点演算の結果が指定した型の IEEE-754 浮動小数点形式で表現できない場合に生成されます。 出力用に NaN を表す方法については、次を参照してください printf
。
C++ としてコンパイルすると、 isnan
マクロは定義されず、 isnan
代わりにテンプレート関数が定義されます。 マクロと同じように動作しますが、整数ではなく bool
型の値を返します。
_isnan
と _isnanf
は、Microsoft 固有の関数です。 _isnanf
関数は、x64 用にコンパイルするときにのみ使用できます。
必要条件
ルーチンによって返される値 | 必須ヘッダー (C) | 必須ヘッダー (C++) |
---|---|---|
isnan , _isnanf |
<math.h> | <math.h> または <cmath> |
_isnan |
<float.h> | <float.h> または <cfloat> |
互換性の詳細については、「 Compatibility」を参照してください。
関連項目
数学と浮動小数点のサポート
fpclassify
_fpclass
, _fpclassf
isfinite
, _finite
, _finitef
isinf
isnormal
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示