কম্পিউটার

C++ এ ফ্লোটিং পয়েন্ট তুলনা


এখানে আমরা দেখব কিভাবে C++ ব্যবহার করে দুটি ফ্লোটিং পয়েন্ট ডেটা তুলনা করা যায়। ভাসমান বিন্দু তুলনা পূর্ণসংখ্যা তুলনার অনুরূপ নয়।

দুটি ফ্লোটিং পয়েন্ট মান তুলনা করার জন্য, আমাদের তুলনার নির্ভুলতা বিবেচনা করতে হবে। উদাহরণস্বরূপ, যদি দুটি সংখ্যা 3.1428 এবং 3.1415 হয়, তাহলে তারা 0.01 নির্ভুলতা পর্যন্ত একই, কিন্তু তারপরে, 0.001 এর মতো তারা একই নয়৷

এই মানদণ্ড ব্যবহার করে তুলনা করার জন্য, আমরা একটি ফ্লোটিং পয়েন্ট সংখ্যা থেকে অন্যটি বিয়োগ করার পর পরম মানটি খুঁজে পাব, তারপর ফলাফলটি নির্ভুল মানের চেয়ে কম কিনা তা পরীক্ষা করে দেখুন। এর দ্বারা আমরা সিদ্ধান্ত নিতে পারি যে তারা সমতুল্য বা না।

উদাহরণ

#include <iostream>
#include <cmath>
using namespace std;
bool compare_float(float x, float y, float epsilon = 0.01f){
   if(fabs(x - y) < epsilon)
      return true; //they are same
      return false; //they are not same
}
int main() {
   float x, y;
   x = 22.0f/7.0f;
   y = 3.1415f;
   if(compare_float(x, y)){
      cout << "They are equivalent" << endl;
   } else {
      cout << "They are not equivalent" << endl;
   }
   if(compare_float(x, y, 0.001f)){
   cout << "They are equivalent" << endl;
   } else {
      cout << "They are not equivalent" << endl;
   }
}

আউটপুট

They are equivalent
They are not equivalent

  1. C++ এ অ্যারেতে একটি পার্টিশন পয়েন্ট খুঁজুন

  2. C++ এ ফ্লোটিং পয়েন্ট সংখ্যার GCD খোঁজার প্রোগ্রাম

  3. C++ এ জটিল সংখ্যা ব্যবহার করে জ্যামিতি

  4. একটি বিন্দুর ঘূর্ণন C++ এ অন্য একটি বিন্দুতে