INFINITY

来自cppreference.com
< c‎ | numeric‎ | math


 
 
 
常用数学函数
类型
(C99)(C99)    

(C99)(C99)    

函数
基本运算
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大/最小运算
(C99)
(C23)    
指数函数
(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)
(C99)
(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮点操作函数
(C99)(C99)
(C99)(C23)
(C99)
窄化运算
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量与量指数函数
十进制重编码函数
全序与载荷函数
分类
(C99)
(C99)
(C99)
(C23)
宏常量
特殊浮点值
INFINITYDEC_INFINITY
(C99)(C23)
(C99)(C23)
参数与返回值
(C99)(C99)(C99)(C99)(C99)    
错误处理
(C99)    

 
在标头 <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 (第 231-232 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.12/4 INFINITY (第 212-213 页)

参阅

(C99)
检查给定数是否是无穷大
(宏函数)
分别指示过大而无法以 floatdoublelong double 表示的值(无穷大)
(宏常量)