非常教程

C参考手册

数值 | Numerics

INFINITY

在头文件<stdlib.h>中定义

#define INFINITY /*implementation defined*/

(since 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)
C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。