命名空间
变体
操作

INFINITY

来自 cppreference.cn
< c‎ | 数值‎ | 数学
 
 
 
常用数学函数
函数
基本操作
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大值/最小值操作
(C99)
(C99)
指数函数
(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)
(C23)(C23)(C23)(C23)
浮点数操作
(C99)(C99)
(C99)(C23)
(C99)
窄化操作
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子与量子指数
十进制重新编码函数
总序和载荷函数
分类
(C99)
(C99)
(C99)
(C23)
误差函数和伽马函数
(C99)
(C99)
(C99)
(C99)
类型
宏常量
特殊浮点值
INFINITYDEC_INFINITY
(C99)(C23)
(C99)(C23)
参数和返回值
错误处理
快速操作指示符
 
定义于头文件 <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++ documentation for INFINITY