यहां हम C++ में fesetround() और fegetround() मेथड देखेंगे। इन विधियों को cfenv पुस्तकालय में पाया जा सकता है।
फ़ेसेटराउंड () विधि का उपयोग निर्दिष्ट फ़्लोटिंग पॉइंट राउंडिंग दिशा को वर्तमान राउंडिंग दिशा में सेट करने के लिए किया जाता है। इसका उपयोग रिंट (), पासिंट () और सी ++ में कुछ अन्य राउंडिंग फ़ंक्शंस के साथ किया जाता है।
सिंटैक्स नीचे जैसा है -
int fesetround(int round);
राउंड इन FE_TONEAREST, FE_DOWNWARD, FE_UPWARD आदि में से हो सकता है। राउंडिंग दिशा को आवश्यक तरीके से सफलतापूर्वक लागू करने पर यह फ़ंक्शन 0 देता है।
उदाहरण
#include <cfenv > #include <cmath> #include <iostream> using namespace std; main() { double x = 4.7, ans; fesetround(FE_TONEAREST); //round to nearest integer ans = rint(x); cout << "Nearest Integer is: " << ans << endl; fesetround(FE_TOWARDZERO); //rounding towards zero ans = rint(x); cout << "Rounding towards 0, value is: " << ans << endl; fesetround(FE_DOWNWARD); //rounding to downwards ans = rint(x); cout << "Nearest Integer below the number: " << ans << endl; fesetround(FE_UPWARD); //rounding to upwards ans = rint(x); cout << "Nearest Integer above the number: " << ans << endl; }
आउटपुट
Nearest Integer is: 5 Rounding towards 0, value is: 4 Nearest Integer below the number: 4 Nearest Integer above the number: 5
अब देखते हैं कि फ़्लोटिंग पॉइंट राउंडिंग मैक्रो प्राप्त करने के लिए fegetround () विधि का उपयोग किया जाता है जो वर्तमान राउंडिंग दिशा से मेल खाती है। इस फ़ंक्शन का उपयोग रिंट (), पासिंट () और C++ में कुछ अन्य राउंडिंग विधियों के साथ किया जाता है।
सिंटैक्स नीचे जैसा है -
int fegetround();
यह फ़्लोटिंग पॉइंट राउंडिंग मैक्रोज़ से संबंधित संख्या देता है।
<उल सूची ="सूची">उदाहरण
#include <cfenv > #include <cmath> #include <iostream> using namespace std; void float_direction() { switch (fegetround()) { case FE_TONEAREST: cout << "Macro is: FE_TONEAREST"; break; case FE_DOWNWARD: cout << "Macro is: FE_DOWNWARD"; break; case FE_UPWARD: cout << "Macro is: FE_UPWARD"; break; case FE_TOWARDZERO: cout << "Macro is: FE_TOWARDZERO"; break; default: cout << "unknown"; }; cout << endl; } main() { double x = 4.7, ans; fesetround(FE_TONEAREST); //round to nearest integer ans = rint(x); cout << "Nearest Integer is: " << ans << endl; float_direction(); fesetround(FE_TOWARDZERO); //rounding towards zero ans = rint(x); cout << "Rounding towards 0, value is: " << ans << endl; float_direction(); fesetround(FE_DOWNWARD); //rounding to downwards ans = rint(x); cout << "Nearest Integer below the number: " << ans << endl; float_direction(); fesetround(FE_UPWARD); //rounding to upwards ans = rint(x); cout << "Nearest Integer above the number: " << ans << endl; float_direction(); }
आउटपुट
Nearest Integer is: 5 Macro is: FE_TONEAREST Rounding towards 0, value is: 4 Macro is: FE_TOWARDZERO Nearest Integer below the number: 4 Macro is: FE_DOWNWARD Nearest Integer above the number: 5 Macro is: FE_UPWARD