C 参考手册

定义于头文件 <math.h>
#define INFINITY /*implementation defined*/
(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 standard (ISO/IEC 9899:2011):
  • 7.12/4 INFINITY (p: 231-232)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12/4 INFINITY (p: 212-213)

参阅

(C99)
检查给定数是否是无穷大
(宏函数)
分别指示过大而无法以 floatdoublelong double 表示的值(无穷大)
(宏常量)