যা কোনো শért知道 C/C++-তে ফ্লোটিং পয়েন্ট নম্বর রিপ্রেজেন্ট করার জন্য float এবং double ডেটা টাইপ প্রয়োজন। এখন এই দুটি ডেটা টাইপের প্রেসিশন বা নির্ভুলতার ভিত্তিতে আমরা তাদের মধ্যে পার্থক্য করতে পারি।
সহজ ভাষায় বলা যায় double-এ float-এর চেয়ে ২গুন বেশি প্রেসিশন রয়েছে অর্থাৎ double ডেটা টাইপে float ডেটা টাইপের চেয়ে ডাবল প্রেসিশন রয়েছে।
প্রেসিশন সংখ্যা হিসেবে বললে double-এ ফ্লোটিং পয়েন্ট নম্বরের জন্য ৬৪ বিট প্রেসিশন রয়েছে (১ বিট সাইন জন্য, ১১ বিট এক্সপোনেন্ট জন্য, এবং ৫২* বিট ভ্যালু জন্য), অর্থাৎ double-এ ১৫ ডেসিমেল ডিজিট প্রেসিশন রয়েছে। যখন float-এ ফ্লোটিং নম্বরের জন্য ৩২ বিট প্রেসিশন রয়েছে (৮ বিট এক্সপোনেন্ট জন্য, এবং ২৩* ভ্যালু জন্য), অর্থাৎ float-এ ৭ ডেসিমেল ডিজিট প্রেসিশন রয়েছে।
যেহেতু double-এ float-এর চেয়ে বেশি প্রেসিশন রয়েছে তাই এটি_float-এর চেয়ে দ্বিগুণ মেমোরি অকুপাই করে।
এছাড়া উভয় ডেটা টাইপের রেঞ্জ রিপ্রেজেন্ট করা যায় ±3.40282347E+38F অর্থাৎ ৬-৭ সিগনিফিক্যান্ট ডিজিট float-এর জন্য এবং ±1.79769313486231570E+308 অর্থাৎ ১৫-১৬ সিগনিফিক্যান্ট ডিজিট double-এর জন্য।
উপরোক্ত পয়েন্টগুলোর ভিত্তিতে আমরা বলতে পারি যে হাই প্রেসিশন প্রয়োজন না হলে এবং প্রোগ্রামে শুধু একটি বড় অ্যারে ডেসিমেল নম্বর স্টোর করতে হলে float একটি কস্ট-ইফেক্টিভ উপায় ডেটা স্টোর করার জন্য এবং মেমোরি বাঁচায়। আর যখন বেশি প্রেসিশন প্রয়োজন হয় double-এ যান।