NaN (Not a Number) की परिभाषा
NaN "Not a Number" का संक्षिप्त रूप है। यह अपरिभाषित या गैर-प्रतिनिधित्व योग्य फ्लोटिंग-पॉइंट एलिमेंट्स को इंगित करता है। NaN का एक उदाहरण किसी ऋणात्मक संख्या का वर्गमूल है, या 0/0 का परिणाम।
उदाहरण
#include <iostream>
#include <cmath>
using namespace std;
int main() {
cout << "Square root of -5: " << sqrt(-5) << endl;
cout << "0.0 / 0.0 = " << (0.0 / 0.0) << endl;
return 0;
}
आउटपुट
Square root of -5: nan 0.0 / 0.0 = nan
NaN की विशेषताएं
- NaN किसी भी मान के बराबर नहीं होता, यहां तक कि स्वयं के भी नहीं:
NaN != NaNहमेशा true होता है। std::isnan()फ़ंक्शन (C++11 से) का उपयोग करके NaN की जांच की जा सकती है।- फ्लोटिंग-पॉइंट ऑपरेशन्स में NaN प्रसारित होता है: कोई भी ऑपरेशन जिसमें NaN शामिल हो, उसका परिणाम NaN होगा।
NaN चेक करने का उदाहरण
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double result = sqrt(-5);
if (isnan(result)) {
cout << "Result is NaN" << endl;
} else {
cout << "Result: " << result << endl;
}
// NaN तुलना
double nan_val = 0.0 / 0.0;
cout << "nan_val == nan_val: " << (nan_val == nan_val) << endl; // false प्रिंट करेगा
return 0;
}