INFINITY

< c‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
指数函数
(C99)
(C99)
(C99)
(C99)
幂函数
(C99)
(C99)
三角及双曲函数
(C99)
(C99)
(C99)
误差及伽马函数
(C99)
(C99)
(C99)
(C99)
临近整数的浮点运算
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
浮点数操作函数
(C99)(C99)
(C99)
(C99)
分类
(C99)
(C99)
(C99)
类型
(C99)(C99)
宏常量
INFINITY
(C99)
(C99)
 
定义于头文件 <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 表示的值(无穷大)
(宏常量)