常用数学函数
分别指示过大而无法以 float 、 double 和 long double 表示的值(无穷大)
HUGE_VALF,
HUGE_VAL,
HUGE_VALL
定义于头文件 |
||
#define HUGE_VALF /*implementation defined*/ |
(C99 起) | |
#define HUGE_VAL /*implementation defined*/ |
||
#define HUGE_VALL /*implementation defined*/ |
(C99 起) |
HUGE_VALF
、 HUGE_VAL
和 HUGE_VALL
宏展开成正浮点常量表达式,它们比较等于上溢情况中浮点函数和运算符的返回值(见 math_errhandling )。
常量 | 解释 |
HUGE_VALF |
展开成指示上溢的正 float 表达式 |
HUGE_VAL |
展开成指示上溢的正 double 表达式,不必可表示为 float |
HUGE_VALL |
展开成指示上溢的正 long double 表达式,不必可表示为 float 或 double |
在支持浮点无穷大的平台上,这些宏始终分别展开成 float 、 double 和 long double 的正无穷大。
调用示例
#include <iostream>
#include <cstdlib>
#include <typeinfo>
#include <cinttypes>
#include <cmath>
#include <math.h>
#include <tgmath.h>
int main()
{
std::cout << std::boolalpha;
//对给定的浮点值分类
std::cout << "std::fpclassify(" << HUGE_VALF << "): "
<< std::fpclassify(HUGE_VALF) << std::endl;
std::cout << "std::fpclassify(" << HUGE_VAL << "): "
<< std::fpclassify(HUGE_VAL) << std::endl;
std::cout << "std::fpclassify(" << HUGE_VALL << "): "
<< std::fpclassify(HUGE_VALL) <&