কম্পিউটার টিউটোরিয়াল

C++-এ lrint() এবং llrint() ফাংশন


এই বিভাগে আমরা C++-এর lrint() এবং llrint() ফাংশন নিয়ে আলোচনা করব। প্রথমে lrint() নিয়ে কথা বলি।

lrint() ফাংশন আর্গুমেন্ট হিসেবে দেওয়া ভগ্নাংশিক মানকে বর্তমান রাউন্ডিং মোড অনুযায়ী পূর্ণসংখ্যায় রাউন্ড করে। বর্তমান মোড fesetround() দিয়ে নির্ধারিত হয়।

এই ফাংশন double, float বা integer ভ্যালু ইনপুট হিসেবে নেয় এবং ভগ্নাংশিক অংশ রাউন্ড করে long int রিটার্ন করে।

উদাহরণ

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

int main() {
    double x = 40.0235;
    long int res;
    fesetround(FE_DOWNWARD); // রাউন্ডিং ডিরেকশন নিচের দিকে
    res = lrint(x);
    cout << "Downward rounding of " << x << " is " << res << endl;
    return 0;
}

আউটপুট

Downward rounding of 40.0235 is 40

llrint() ফাংশনও একই কাজ করে কিন্তু long long int রিটার্ন করে।

উদাহরণ

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

int main() {
    double a;
    long long int res;
    fesetround(FE_UPWARD); // রাউন্ডিং ডিরেকশন উপরের দিকে
    a = 40.3;
    res = llrint(a);
    cout << "Upward rounding of " << a << " is " << res << endl;
    fesetround(FE_DOWNWARD); // রাউন্ডিং ডিরেকশন নিচের দিকে
    a = 40.88;
    res = llrint(a);
    cout << "Downward rounding of " << a << " is " << res << endl;
    return 0;
}

আউটপুট

Upward rounding of 40.3 is 41
Downward rounding of 40.88 is 40

  1. সি++ প্রোগ্রাম: sin(x) এবং cos(x) এর মান গণনা করা

  2. C++-এ সিল (ceil) এবং ফ্লোর (floor) ফাংশন

  3. C/C++-এ main() ফাংশন কী রিটার্ন করা উচিত?

  4. C++-এ ইনক্রিমেন্ট ++ এবং ডিক্রিমেন্ট -- অপারেটর