命名空间
变体
动作

INFINITY

来自 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)
宏常量
特殊浮点值
INFINITYDEC_INFINITY
(C99)(C23)
(C99)(C23)
参数和返回值
(C99)(C99)(C99)(C99)(C99)    
错误处理
(C99)    

 
定义在头文件 <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 (p: 231-232)
  • C99 标准 (ISO/IEC 9899:1999)
  • 7.12/4 INFINITY (p: 212-213)

[编辑] 另请参阅

(C99)
检查给定数字是否为无穷大
(函数宏) [编辑]
分别表示 floatdoublelong double 无法表示的值(无穷大)
(宏常量) [编辑]
C++ 文档 适用于 INFINITY