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)
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com