isfinite

来自cppreference.com
< c‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
指数函数
(C99)
(C99)
(C99)
(C99)
幂函数
(C99)
(C99)
三角及双曲函数
(C99)
(C99)
(C99)
误差及伽马函数
(C99)
(C99)
(C99)
(C99)
临近整数的浮点运算
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
浮点数操作函数
(C99)
(C99)
(C99)
(C99)
分类
isfinite
(C99)
(C99)
(C99)
(C99)
宏常量
 
定义于头文件 <math.h>
#define isfinite(arg) /* implementation defined */
(C99 起)

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

FLT_EVAL_METHOD被忽略:即使参数被以多于其类型的范围和精度的方式求值,它还是首先被转换回其语义类型,然后分类基于该类型。

目录

[编辑] 参数

arg - 浮点值

[编辑] 返回值

arg拥有有限值则返回非零整数值,否则返回0

[编辑] 示例

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

可能的输出:

isfinite(NAN)         = 0
isfinite(INFINITY)    = 0
isfinite(0.0)         = 1
isfinite(DBL_MIN/2.0) = 1
isfinite(1.0)         = 1
isfinite(exp(800))    = 0

[编辑] 参考

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12.3.2 The isfinite macro (p: 236)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.3.2 The isfinite macro (p: 216-217)

[编辑] 参阅

对给定的浮点值分类
(函数) [编辑]
(C99)
检查给定数是否是无穷大
(函数) [编辑]
(C99)
检查给定数是否是NaN
(函数) [编辑]
检查给定数是否正规
(函数) [编辑]
isfiniteC++ 文档