C
数值 | Numerics

INFINITY

INFINITY

在头文件中定义
#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):