fpclassify()函数在C的标头math.h标头和C++的cmath库中定义。此函数用于获取与分类宏常量之一(取决于x的值)匹配的int类型的值。
用法:
int fpclassify(int x); int fpclassify(float x); int fpclassify(double x); int fpclassify(long double x);
参数:此方法接受参数x,该参数x是与该方法的宏常量之一匹配的值。它可以是整数,浮点数,双精度型或长双精度型。
返回值:此函数为宏常量返回整数值,如下所示:
- FP_INFINITE:当指定值为正无穷大或负无穷大时
- FP_NAN:当指定的值不是数字时
- FP_ZERO:当指定值为零时。
- FP_SUBNORMAL:当指定值是正或负非正规化值时
- FP_NORMAL:当指定值为正或负归一化非零值时
下面的示例演示了fpclassify()方法的使用:
// C++ program to demonstrate
// the use of fpclassify() method
#include <iostream>
#include <math.h>
using namespace std;
// Function to implement fpclassify() method
void fpclassification(double x)
{
// fpclassify() method
switch (fpclassify(x)) {
// For the data to be infinite
case FP_INFINITE:
cout << "Infinite Number \n";
break;
// For the data to be not defined
// as in divide by zero
case FP_NAN:
cout << "Not a Number \n";
break;
// For the data to be zero
case FP_ZERO:
cout << "Zero \n";
break;
// For the data to be subnormal
case FP_SUBNORMAL:
cout << "Subnormal value \n";
break;
// For the data to be normal
case FP_NORMAL:
cout << "Normal value \n";
break;
// For the data to be invalid
default:
cout << "Invalid number \n";
}
}
// Driver code
int main()
{
// Example 1
double a = 1.0 / 0.0;
cout << "For 1.0/0.0:";
fpclassification(a);
// Example 2
double b = 0.0 / 0.0;
cout << "For 0.0/0.0:";
fpclassification(b);
// Example 3
double c = -0.0;
cout << "For -0.0:";
fpclassification(c);
// Example 4
double d = 1.0;
cout << "For 1.0:";
fpclassification(d);
return 0;
}
输出:
For 1.0/0.0:Infinite Number For 0.0/0.0:Not a Number For -0.0:Zero For 1.0:Normal value
相关用法
- C++ std::uniform_int_distribution reset()用法及代码示例
- C++ std::uniform_int_distribution min()用法及代码示例
- C++ std::uniform_int_distribution a()用法及代码示例
- C++ std::uniform_int_distribution max()用法及代码示例
- C++ std::uniform_int_distribution b()用法及代码示例
- C++ std::uniform_real_distribution b()用法及代码示例
- C++ std::uniform_real_distribution min()用法及代码示例
- C++ std::uniform_real_distribution max()用法及代码示例
- C++ std::uniform_real_distribution a()用法及代码示例
- C++ std::uniform_real_distribution reset()用法及代码示例
- C++ tgamma()用法及代码示例
- C语言 strtok()、strtok_r()用法及代码示例
- C语言 memset()用法及代码示例
- C++ std::mismatch()用法及代码示例
- C++ wcscpy()用法及代码示例
- C++ wcscmp()用法及代码示例
- C++ set_symmetric_difference用法及代码示例
- C++ ratio_equal()用法及代码示例
- C++ std::equal_to用法及代码示例
- C++ quick_exit()用法及代码示例
注:本文由纯净天空筛选整理自verma_anushka大神的英文原创作品 fpclassify() method in C/C++ with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。