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

C++-এ fesetround() এবং fegetround() ফাংশন

<cfenv> হেডারের fesetround() এবং fegetround() ফাংশনগুলো ফ্লোটিং-পয়েন্ট রাউন্ডিং মোড সেট ও গেট করতে ব্যবহৃত হয়। এটি rint(), nearbyint() ইত্যাদি ফাংশনের আচরণ নিয়ন্ত্রণ করে।

fesetround() - রাউন্ডিং মোড সেট করা

সিনট্যাক্স: int fesetround(int round);

ম্যাক্রো: FE_TONEAREST, FE_DOWNWARD, FE_UPWARD, FE_TOWARDZERO

উদাহরণ

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

int main() {
    double x = 4.7, ans;
    fesetround(FE_TONEAREST); ans = rint(x); cout << "Nearest: " << ans << endl; // 5
    fesetround(FE_TOWARDZERO); ans = rint(x); cout << "Toward zero: " << ans << endl; // 4
    fesetround(FE_DOWNWARD); ans = rint(x); cout << "Downward: " << ans << endl; // 4
    fesetround(FE_UPWARD); ans = rint(x); cout << "Upward: " << ans << endl; // 5
    return 0;
}

আউটপুট

Nearest: 5
Toward zero: 4
Downward: 4
Upward: 5

fegetround() - বর্তমান রাউন্ডিং মোড জানা

সিনট্যাক্স: int fegetround();

রিটার্ন করে বর্তমান রাউন্ডিং ম্যাক্রোর ভ্যালু।

উদাহরণ

void float_direction() {
    switch (fegetround()) {
        case FE_TONEAREST: cout << "FE_TONEAREST"; break;
        case FE_DOWNWARD: cout << "FE_DOWNWARD"; break;
        case FE_UPWARD: cout << "FE_UPWARD"; break;
        case FE_TOWARDZERO: cout << "FE_TOWARDZERO"; break;
        default: cout << "unknown";
    }
    cout << endl;
}

ব্যবহার: ফাইন্যানসিয়াল ক্যালকুলেশন, গ্রাফিক্স, সায়েন্টিফিক কম্পিউটেশনে প্রিসিশন নিয়ন্ত্রণের জন্য গুরুত্বপূর্ণ।

  1. C++-এ Before and After পাজল সমাধান করুন

  2. Go এবং C++-এর পার্থক্য

  3. C++-এ fmax() এবং fmin() ফাংশন

  4. C++-এ delete() এবং free()