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

C++-এ ফ্লোটিং পয়েন্ট সংখ্যার প্রিসিশন (Precision: floor, ceil, trunc, round, setprecision)

ফ্লোটিং পয়েন্ট সংখ্যার প্রিসিশন (Precision) হলো দশমিকের পর কতটুকু অঙ্ক সঠিকভাবে ধারণ করা যায়। যেমন 10/6 = 1.66666... এখানে পুনরাবৃত্ত দশমিক অনন্ত, যা সীমিত মেমরিতে সংরক্ষণ করা যায় না। তাই কম্পাইলার একটি প্রিসিশন লিমিট সেট করে রাখে (float-এর জন্য ৬-৭ ডিজিট)।

গণিত ফাংশনগুলো (Library: math.h)

floor() - ফ্লোর (নিচে রাউন্ড)

সংখ্যাকে निकটতম ছোট পূর্ণসংখ্যায় রাউন্ড করে।

floor(0.435) = 0
floor(234.2342) = 234
floor(-3.31132) = -4
floor(-0.432) = -1

ceil() - সিলিং (উপরে রাউন্ড)

সংখ্যাকে निकটতম বড় পূর্ণসংখ্যায় রাউন্ড করে।

ceil(0.435) = 1
ceil(234.2342) = 235
ceil(-3.31132) = -3
ceil(-0.432) = 0

round() - নিকটতম পূর্ণসংখ্যায় রাউন্ড

দশমিক .5 বা তার বেশি হলে বাড়ায়, কম হলে কেটে দেয়।

round(0.435) = 0
round(234.5612) = 235
round(-3.31132) = -3
round(-0.9132) = -1

setprecision() - নির্দিষ্ট দশমিক পর্যন্ত প্রদর্শন (Library: iomanip)

fixed << setprecision(n) দিয়ে n সংখ্যক দশমিক পর্যন্ত দেখানো যায়।

setprecision(0): 0.435 → 0
setprecision(1): 234.5612 → 234.6
setprecision(4): -3.31132 → -3.3113
setprecision(3): -0.9132 → -0.913

C++ প্রোগ্রাম উদাহরণ

#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;

int main() {
    float n1 = 0.435, n2 = 234.5612, n3 = -3.31132, n4 = -0.9132;
    
    cout << "floor: " << floor(n1) << " " << floor(n2) << " " << floor(n3) << " " << floor(n4) << endl;
    cout << "ceil: " << ceil(n1) << " " << ceil(n2) << " " << ceil(n3) << " " << ceil(n4) << endl;
    cout << "round: " << round(n1) << " " << round(n2) << " " << round(n3) << " " << round(n4) << endl;
    cout << fixed << setprecision(2) << n1 << " " << n2 << " " << n3 << " " << n4 << endl;
    
    return 0;
}
  1. সি++-এ ডাডেনি নম্বর

  2. C++-এ BST থেকে ফ্লোর এবং সিলিং মান বের করা

  3. C++-এ ফ্লোটিং পয়েন্টের প্রিসিশন কত?

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