ফ্লোটিং পয়েন্ট সংখ্যার প্রিসিশন (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;
}