কম্পিউটার

C/C++ এ ফ্লোট এবং ডাবলের মধ্যে পার্থক্য


আমরা জানি যে C/C++ এ আমাদের ফ্লোটিং পয়েন্ট সংখ্যার প্রতিনিধিত্বের জন্য ফ্লোট এবং ডাবল ডাটা টাইপ প্রয়োজন, অর্থাৎ যে সংখ্যাগুলির সাথে দশমিক অংশ রয়েছে। এখন এই উভয় ডেটা টাইপের দ্বারা প্রদত্ত নির্ভুলতার ভিত্তিতে আমরা উভয়ের মধ্যে পার্থক্য করতে পারি তাদের মধ্যে।

সহজ কথায় এটা বলা যেতে পারে যে ফ্লোটের তুলনায় ডাবলের 2গুণ বেশি নির্ভুলতা রয়েছে যার অর্থ হল ফ্লোট ডেটা টাইপের তুলনায় ডাবল ডেটা টাইপের দ্বিগুণ নির্ভুলতা রয়েছে।

নির্ভুলতার সংখ্যার পরিপ্রেক্ষিতে এটি বলা যেতে পারে যে ফ্লোটিং পয়েন্ট সংখ্যার জন্য ডাবলের 64 বিট নির্ভুলতা রয়েছে (চিহ্নের জন্য 1 বিট, সূচকের জন্য 11 বিট এবং মানের জন্য 52* বিট), অর্থাৎ ডাবলটিতে 15 দশমিক সূক্ষ্মতা রয়েছে .যদিও ফ্লোটে ফ্লোটিং নম্বরের জন্য 32 বিট নির্ভুলতা রয়েছে (ঘাষকের জন্য 8 বিট এবং মানের জন্য 23*), অর্থাৎ ফ্লোটে 7 দশমিক সংখ্যা নির্ভুলতা রয়েছে।

ফ্লোটের তুলনায় দ্বিগুণ বেশি নির্ভুলতা থাকায় এটা স্পষ্ট যে এটি ফ্লোট ডেটা টাইপ দ্বারা দ্বিগুণ মেমরি দখল করে।

এছাড়াও উভয় ডেটা প্রকারের পরিসরকে ±3.40282347E+38F অর্থাৎ ফ্লোটের জন্য 6-7 উল্লেখযোগ্য সংখ্যা এবং ±1.79769313486231570E+308 অর্থাৎ দ্বিগুণের জন্য 15-16 উল্লেখযোগ্য সংখ্যা হিসাবে উপস্থাপন করা যেতে পারে।

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


  1. C/C++ এ strncmp() এবং strcmp() এর মধ্যে পার্থক্য

  2. C/C++ এ #include <filename> এবং #include filename এর মধ্যে পার্থক্য?

  3. C/C++ এ const int*, const int * const এবং int const * এর মধ্যে পার্থক্য?

  4. C# এ ফ্লোট, ডবল এবং দশমিকের মধ্যে পার্থক্য কী?