C ++ समीप () - C ++ मानक पुस्तकालय

C ++ में पासिन्ट () फ़ंक्शन वर्तमान राउंडिंग मोड का उपयोग करके एक अभिन्न मूल्य पर तर्क देता है।

C ++ में पासिन्ट () फ़ंक्शन वर्तमान राउंडिंग मोड का उपयोग करके एक अभिन्न मूल्य पर तर्क देता है। वर्तमान राउंडिंग मोड फ़ंक्शन द्वारा निर्धारित किया जाता है fesetround()। समीपवर्ती () फ़ंक्शन रिंट () के समान है, सिवाय इसके कि यह FE_INEXACT अपवादों को रिंट () के रूप में नहीं बढ़ाता है।

एक FE_INEXACT अपवाद एक फ़्लोटिंग पॉइंट अपवाद है जो तब होता है जब किसी ऑपरेशन का परिणाम गोलाई या ग्रेडिंग अंडरफ़्लो के कारण बिल्कुल प्रतिनिधित्व नहीं करता है।

समीप () प्रोटोटाइप (C ++ 11 मानक के अनुसार)

डबल आस-पास (डबल एक्स); फ्लोट पास (फ्लोट एक्स); लंबे समय तक डबल पास (लंबे डबल एक्स); डबल आस-पास (टी एक्स); // अभिन्न प्रकार के लिए

समीपवर्ती () फ़ंक्शन एक एकल तर्क लेता है और टाइप डबल, फ्लोट या लॉन्ग डबल टाइप का मान लौटाता है। यह फ़ंक्शन हेडर फ़ाइल में परिभाषित किया गया है।

समीप () पैरामीटर

समीपवर्ती () फ़ंक्शन राउंड के लिए एकल तर्क मान लेता है।

पास का () रिटर्न मान

समीपवर्ती () फ़ंक्शन तर्क x को एक अभिन्न मान के साथ गोल करता है, जो फ़ेगेटोर्ड () द्वारा निर्दिष्ट गोलाई दिशा का उपयोग करके और मान लौटाता है। डिफ़ॉल्ट रूप से, गोलाई दिशा 'से-निकटतम' पर सेट है। राउंडिंग दिशा फ़ेसट्रेड () फ़ंक्शन का उपयोग करके अन्य मानों पर सेट की जा सकती है।

उदाहरण 1: C ++ में कैसे काम करता है?

 #include #include #include using namespace std; int main() ( // by default, rounding direction is to-nearest i.e. fesetround(FE_TONEAREST) double x = 11.87, result; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // upper value is taken for mid-way values x = 11.5; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 17.87; result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << nearbyint(x) << endl; // setting rounding direction to UPWARD x = 33.34; fesetround(FE_UPWARD); result = nearbyint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 निकटतम (11.87) = 12 परिक्रमा करना निकटतम (11.5) = 12 गोल नीचे की ओर (17.87) = 17 गोल ऊपर की ओर (33.3401) = 34

उदाहरण 2: अभिन्न प्रकारों के लिए समीपवर्ती () फ़ंक्शन

 #include #include #include using namespace std; int main() ( int x = 15; double result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; ) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 नीचे की ओर गोल (15) = 15 

अभिन्न मूल्यों के लिए, nearbyintफ़ंक्शन को लागू करना इनपुट के समान मूल्य देता है। तो यह आमतौर पर अभ्यास में अभिन्न मूल्यों के लिए उपयोग नहीं किया जाता है।

दिलचस्प लेख...