isnormal

来自cppreference.com
< c‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大/最小运算
(C99)
(C99)
指数函数
(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)
(C23)(C23)(C23)(C23)
浮点数操作
(C99)(C99)
(C99)(C23)
(C99)
窄化运算
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量与量指数函数
十进制重编码函数
全序与载荷函数
分类
(C99)
(C99)
isnormal
(C99)
(C99)
(C23)
误差及伽马函数
(C99)
(C99)
(C99)
(C99)
类型
宏常量
特殊浮点数值
(C99)(C23)
参数与返回值
错误处理
快速运算指示
 
在标头 <math.h> 定义
#define isnormal(arg) /* 由实现定义 */
(C99 起)

确定给定的浮点数 arg 是否正规,即它不是零、非正规、无穷大或 NaN。该宏返回整数。

忽略 FLT_EVAL_METHOD:即使以多于实参类型的范围和精度对它求值,首先仍将它转换到其语义类型,然后分类基于该类型。

目录

[编辑]参数

arg - 浮点数

[编辑]返回值

arg 正规则为非零整数,否则为 0

[编辑]示例

#include <float.h>#include <math.h>#include <stdio.h>   int main(void){printf("isnormal(NAN) = %d\n", isnormal(NAN));printf("isnormal(INFINITY) = %d\n", isnormal(INFINITY));printf("isnormal(0.0) = %d\n", isnormal(0.0));printf("isnormal(DBL_MIN/2.0) = %d\n", isnormal(DBL_MIN/2.0));printf("isnormal(1.0) = %d\n", isnormal(1.0));}

输出:

isnormal(NAN) = 0 isnormal(INFINITY) = 0 isnormal(0.0) = 0 isnormal(DBL_MIN/2.0) = 0 isnormal(1.0) = 1

[编辑]引用

  • C23 标准(ISO/IEC 9899:2024):
  • 7.12.3.5 The isnormal macro (第 TBD 页)
  • C17 标准(ISO/IEC 9899:2018):
  • 7.12.3.5 The isnormal macro (第 TBD 页)
  • C11 标准(ISO/IEC 9899:2011):
  • 7.12.3.5 The isnormal macro (第 237 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.12.3.5 The isnormal macro (第 217-218 页)

[编辑]参阅

对给定的浮点数分类
(宏函数)[编辑]
检查给定数是否具有有限值
(宏函数)[编辑]
(C99)
检查给定数是否是无穷大
(宏函数)[编辑]
(C99)
检查给定数是否为 NaN
(宏函数)[编辑]
isnormal 的 C++ 文档
close