isless

来自cppreference.com
< c‎ | numeric‎ | math
 
 
 
常用数学函数
类型
(C99)(C99)    

(C99)(C99)    

函数
基本运算
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大/最小运算
(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)
isless
(C99)
(C23)
宏常量
特殊浮点值
(C99)(C23)
参数与返回值
(C99)(C99)(C99)(C99)(C99)    
错误处理
(C99)    

 
在标头 <math.h> 定义
#define isless(x, y) /* 由实现定义 */
(C99 起)

确定浮点数 x 是否小于浮点数 y,而不设置浮点异常。

参数

x - 浮点值
y - 浮点值

返回值

x < y 则为非零整数值,否则为 0

注解

若一或两个实参为 NaN,则内建的 operator< 对浮点数可能引发 FE_INVALID。此宏是 operator< 的“安静”版本。

示例

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

可能的输出:

isless(2.0,1.0)      = 0
isless(1.0,2.0)      = 1
isless(INFINITY,1.0) = 0
isless(1.0,NAN)      = 0

引用

  • C23 标准(ISO/IEC 9899:2024):
  • 7.12.14.3 The isless macro (第 TBD 页)
  • F.10.11 Comparison macros (第 TBD 页)
  • C17 标准(ISO/IEC 9899:2018):
  • 7.12.14.3 The isless macro (第 TBD 页)
  • F.10.11 Comparison macros (第 TBD 页)
  • C11 标准(ISO/IEC 9899:2011):
  • 7.12.14.3 The isless macro (第 260 页)
  • F.10.11 Comparison macros (第 531 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.12.14.3 The isless macro (第 241 页)

参阅

检查第一个浮点实参是否大于第二个
(宏函数)