命名空间
变体
操作

INFINITY

来自 cppreference.cn
< 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)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮点数操作
(C99)(C99)
(C99)(C23)
(C99)
窄化运算
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子和量子指数
十进制重编码函数
全序和有效载荷函数
分类
(C99)
(C99)
(C99)
(C23)
误差和伽马函数
(C99)
(C99)
(C99)
(C99)
类型
宏常量
特殊浮点数值
INFINITYDEC_INFINITY
(C99)(C23)
(C99)(C23)
参数和返回值
错误处理
快速运算指示符
 
定义于头文件 <math.h>
#define INFINITY /*实现定义*/
(自 C99 起)

如果实现支持浮点无穷大,则宏 INFINITY 扩展为 float 类型的常量表达式,该表达式求值为正无穷大或无符号无穷大。

如果实现不支持浮点无穷大,则宏 INFINITY 扩展为一个正值,该正值保证在编译时会溢出 float,并且使用此宏会生成编译器警告。

用于打印无穷大的样式由实现定义。

[编辑] 示例

显示用于打印无穷大的样式和 IEEE 格式。

#include <stdio.h>
#include <math.h>
#include <stdint.h>
#include <inttypes.h>
#include <string.h>
 
int main(void)
{
    double f = INFINITY;
    uint64_t fn; memcpy(&fn, &f, sizeof f);
    printf("INFINITY:   %f %" PRIx64 "\n", f, fn);
}

可能输出

INFINITY:   inf 7ff0000000000000

[编辑] 参考

  • C11 标准 (ISO/IEC 9899:2011)
  • 7.12/4 INFINITY (页: 231-232)
  • C99 标准 (ISO/IEC 9899:1999)
  • 7.12/4 INFINITY (页: 212-213)

[编辑] 参见

(C99)
检查给定数字是否为无穷大
(函数宏) [编辑]
分别指示 float、double 和 long double 无法表示的值(无穷大)
(宏常量) [编辑]
C++ 文档 for INFINITY