C
数值 | Numerics

isunordered

isunordered

在头文件中定义
#define isunordered(x, y) /* implementation defined */(since C99)

确定该浮点数xy是无序的,即,一个或两个都为NaN,因此不能得到有意义的相互比较。

参数

x-浮点值
y-浮点值

返回值

非零的整数值,如果是x或者y是NaN,​0​否则。

#include <stdio.h> #include <math.h> int main(void) { printf("isunordered(NAN,1.0) = %d\n", isunordered(NAN,1.0) printf("isunordered(1.0,NAN) = %d\n", isunordered(1.0,NAN) printf("isunordered(NAN,NAN) = %d\n", isunordered(NAN,NAN) printf("isunordered(1.0,0.0) = %d\n", isunordered(1.0,0.0) return 0; }

可能的输出:

isunordered(NAN,1.0) = 1 isunordered(1.0,NAN) = 1 isunordered(NAN,NAN) = 1 isunordered(1.0,0.0) = 0

参考

  • C11标准(ISO / IEC 9899:2011):