isunordered

来自cppreference.com
< c‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大/最小运算
指数函数
(C23)
(C99)
(C99)
(C23)
(C23)
(C99)
(C99)(C23)
(C23)
(C23)
幂函数
(C99)
(C23)
(C23)
(C99)
(C23)
(C23)
三角及双曲函数
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
误差及伽马函数
(C99)
(C99)
(C99)
(C99)
临近整数的浮点运算
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮点操作函数
(C99)(C99)
(C99)(C23)
(C99)
窄化运算
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量与量指数函数
十进制重编码函数
全序与载荷函数
分类
(C99)
(C99)
(C99)
(C23)
(C99)
isunordered
(C99)
(C23)
类型
宏常量
 
定义于头文件 <math.h>
#define isunordered(x, y) /* implementation defined */
(C99 起)

确定浮点数 xy 是否无序,即一或两个是 NaN ,从而无法有意义地彼此比较。

参数

x - 浮点值
y - 浮点值

返回值

xy 为 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):
  • 7.12.14.6 The isunordered macro (p: 261)
  • F.10.11 Comparison macros (p: 531)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.12.14.6 The isunordered macro (p: 242)

参阅

对给定的浮点值分类
(宏函数)
(C99)
检查给定数是否为 NaN
(宏函数)