当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ fpclassify()用法及代码示例


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




相关用法


注:本文由纯净天空筛选整理自verma_anushka大神的英文原创作品 fpclassify() method in C/C++ with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。