Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में Rint(), rintf(), rintl() फ़ंक्शन

परिचय

यहां हम तीन फ़ंक्शन्स देखेंगे: rint(), rintf() और rintl()। ये फ़ंक्शन्स फ्लोटिंग-पॉइंट मानों को निकटतम पूर्णांक में राउंड करने के लिए उपयोग किए जाते हैं।

rint() फ़ंक्शन

यह फ़ंक्शन फ्लोटिंग-पॉइंट मान को पूर्णांक में राउंड करने के लिए उपयोग किया जाता है। सिंटैक्स:

float rint(float argument)
double rint(double argument)
long double rint(long double argument)

यदि परिणाम रिटर्न टाइप के बाहर है, तो डोमेन एरर हो सकता है। जब आर्गुमेंट 0 या इन्फिनिटी होता है, तो यह अनमॉडिफाइड रिटर्न करता है।

उदाहरण

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

int main() {
    double a, b, x, y;
    x = 53.26;
    y = 53.86;
    a = rint(x);
    b = rint(y);
    cout << "The value of a: " << a << endl;
    cout << "The value of b: " << b;
    return 0;
}

आउटपुट

The value of a: 53
The value of b: 54

rintf() फ़ंक्शन

यह rint के समान है, लेकिन सभी पैरामीटर्स और रिटर्न टाइप float टाइप के हैं। इस उदाहरण में हम राउंड टाइप निर्दिष्ट करने के लिए fesetround() मेथड का उपयोग करेंगे।

float rintf(float argument)

उदाहरण: राउंडिंग मोड के साथ

#include <cmath>
#include <fenv.h>
#include <iostream>
using namespace std;

int main() {
    double a, b, x, y;
    x = 53.26;
    y = 53.86;
    
    fesetround(FE_UPWARD);      // ऊपर की ओर राउंड
    a = rintf(x);
    
    fesetround(FE_DOWNWARD);    // नीचे की ओर राउंड
    b = rintf(y);
    
    cout << "The value of a: " << a << endl;
    cout << "The value of b: " << b;
    return 0;
}

आउटपुट

The value of a: 54
The value of b: 53

rintl() फ़ंक्शन

यह rint के समान है, लेकिन सभी पैरामीटर्स और रिटर्न टाइप long double टाइप के हैं।

long double rintl(long double argument)

उदाहरण

#include <cmath>
#include <fenv.h>
#include <iostream>
using namespace std;

int main() {
    double a, b, x, y;
    x = 53547.55555555555;
    y = 53547.55555555523;
    
    fesetround(FE_UPWARD);
    a = rintl(x);
    
    fesetround(FE_DOWNWARD);
    b = rintl(y);
    
    cout << "The value of a: " << a << endl;
    cout << "The value of b: " << b;
    return 0;
}

आउटपुट

The value of a: 53548
The value of b: 53547

राउंडिंग मोड्स (fesetround के लिए)

मैक्रोव्यवहार
FE_TONEARESTनिकटतम पूर्णांक (डिफ़ॉल्ट)
FE_UPWARDप्लस इन्फिनिटी की ओर (सीलिंग)
FE_DOWNWARDमाइनस इन्फिनिटी की ओर (फ्लोर)
FE_TOWARDZEROशून्य की ओर (ट्रंकेशन)

नोट

rint फ़ंक्शन्स वर्तमान राउंडिंग मोड के अनुसार राउंड करते हैं, जबकि round फ़ंक्शन्स हमेशा निकटतम पूर्णांक से दूर राउंड करते हैं (हाफवे केसेस में)।

  1. - C++ में isprint()

    फंक्शन isprint() एक प्रीडिफाइन्ड फंक्शन है और यह जांचता है कि पास किए गए कैरेक्टर्स प्रिंट करने योग्य हैं या नहीं। यह सफल होने पर नॉन-ज़ीरो मान लौटाता है, अन्यथा शून्य। यह फंक्शन cctype हेडर फ़ाइल में घोषित है। C++ भाषा में isprint() का सिंटैक्स निम्नलिखिक है, int isprint(int character); यहां, chara

  1. - C++ में expm1() फ़ंक्शन

    expm1() फ़ंक्शन का उपयोग किसी भी संख्या की घात में एक्सपोनेंशियल घटा एक की गणना के लिए किया जाता है। यह (e की घात a) - 1 का मान लौटाता है। गणितीय अभिव्यक्ति expm1(a) = (e^a) - 1 C++ में सिंटैक्स float expm1(variable_name); पैरामीटर्स: variable_name - जिस वेरिएबल का मान गणना किया जाना है, उसे दिय

  1. - C++ में log1p() फ़ंक्शन

    log1p() फ़ंक्शन का उपयोग किसी भी संख्या a के लिए (a+1) के नेचुरल लॉगरिदम (आधार e लॉगरिदम) की गणना के लिए किया जाता है। यह (a+1) के नेचुरल लॉगरिदम का मान लौटाता है। जब हम -1 से कम मान पास करते हैं तो यह NaN (नॉट ए नंबर) लौटाता है। गणितीय अभिव्यक्ति log1p(a) = base-e log(a+1) C++ में सिंटैक्स float