isnan() Function with Example in C++

C++ isnan() function: Here, we are going to learn about the isnan() function with example of cmath header in C++ programming language?
Submitted by IncludeHelp, on May 17, 2020

C++ isnan() function

isnan() function is a library function of cmath header, it is used to check whether the given value is a NaN (Not-A-Number). It accepts a value (float, double or long double) and returns 1 if the given value is NaN; 0, otherwise.

Syntax of isnan() function:

In C99, it has been implemented as a macro,

    macro isnan(x)

In C++11, it has been implemented as a function,

    bool isnan (float x);
    bool isnan (double x);
    bool isnan (long double x);

Parameter(s):

  • x – represents a value to be checked as a NaN.

Return value:

The returns type of this function is bool, it returns 1 if the x is NaN; 0, otherwise.

Example:

    Input:
    float x = 0.0f/0.0f;
    
    Function call:
    isnan(x);    
    
    Output:
    1

    Input:
    float x = sqrt(-1.0f);
    
    Function call:
    isnan(x);    
    
    Output:
    1

    Input:
    float x = 10.0f;
    
    Function call:
    isnan(x);    
    
    Output:
    0

C++ code to demonstrate the example of isnan() function

// C++ code to demonstrate the example of
// isnan() function

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    cout << "isnan(sqrt(-10.0f)): " << isnan(sqrt(-10.0f)) << endl;
    cout << "isnan(0.0f/0.0f): " << isnan(0.0f / 0.0f) << endl;
    cout << "isnan(0.0f/1.0f): " << isnan(0.0f / 1.0f) << endl;
    cout << "isnan(1.0f/0.0f): " << isnan(1.0f / 0.0f) << endl;

    float x = sqrt(-1.0f);

    // checking using the condition
    if (isnan(x)) {
        cout << x << " is a NaN." << endl;
    }
    else {
        cout << x << " is not a NaN." << endl;
    }

    x = sqrt(2);

    if (isnan(x)) {
        cout << x << " is a NaN." << endl;
    }
    else {
        cout << x << " is not a NaN." << endl;
    }

    return 0;
}

Output

isnan(sqrt(-10.0f)): 1
isnan(0.0f/0.0f): 1
isnan(0.0f/1.0f): 0
isnan(1.0f/0.0f): 0
-nan is a NaN.
1.41421 is not a NaN.

Reference: C++ isnan() function







Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.





Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.