📜  C++ STL-math.isnormal()函数(1)

📅  最后修改于: 2023-12-03 15:13:55.708000             🧑  作者: Mango

C++ STL之math.isnormal()函数
简介

isnormal()函数是C++标准库math.h头文件中的函数,它是用来检测一个浮点数是否为正常数的函数。所谓正常数,是指指数在特定区间内的非零浮点数。

函数原型
int isnormal (double x);
函数参数
  • x:所要检测是否为正常数的浮点数。
函数返回值
  • 如果浮点数x为正常数,则返回非零值;否则返回0(零值)。
示例
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    double x = 123.45;
    double y = sqrt(-1);  // 此时y并非正常数

    if (isnormal(x))
        cout << "x is normal" << endl;
    else
        cout << "x is not normal" << endl;

    if (isnormal(y))
        cout << "y is normal" << endl;
    else
        cout << "y is not normal" << endl;

    return 0;
}

输出:

x is normal
y is not normal
注意事项
  • isnormal()函数只能用于浮点数。
  • 对于正常数,isnormal()函数返回的非零值在不同系统中可能不同。
  • 在C++11标准中,isnormal()函数被弃用,推荐使用std::isnormal()函数。