जैसा कि हम जानते हैं कि C/C++ में फ्लोटिंग पॉइंट नंबर्स यानी वे नंबर्स जिनके साथ दशमलव भाग होता है, के प्रतिनिधित्व के लिए float और double डेटा टाइप की आवश्यकता होती है। अब दोनों डेटा टाइप्स द्वारा प्रदान की गई प्रिसिजन के आधार पर हम दोनों के बीच अंतर कर सकते हैं।
सरल शब्दों में कहा जा सकता है कि double में float की तुलना में 2x अधिक प्रिसिजन होता है जिसका अर्थ है कि double डेटा टाइप में float डेटा टाइप की तुलना में दोगुनी प्रिसिजन होती है।
प्रिसिजन की संख्या के संदर्भ में कहा जा सकता है कि double में फ्लोटिंग पॉइंट नंबर के लिए 64 बिट प्रिसिजन होती है (1 बिट साइन के लिए, 11 बिट्स एक्सपोनेंट के लिए, और 52* बिट्स वैल्यू के लिए), यानी double में 15 दशमलव अंकों की प्रिसिजन होती है। जबकि float में फ्लोटिंग नंबर के लिए 32 बिट प्रिसिजन होती है (8 बिट्स एक्सपोनेंट के लिए, और 23* वैल्यू के लिए), यानी float में 7 दशमलव अंकों की प्रिसिजन होती है।
चूंकि double में float की तुलना में अधिक प्रिसिजन होती है तो यह स्पष्ट है कि यह float डेटा टाइप द्वारा घेरी गई मेमोरी से दोगुनी मेमोरी घेरता है।
दोनों डेटा टाइप्स की रेंज को इस प्रकार दर्शाया जा सकता है: ±3.40282347E+38F यानी float के लिए 6-7 सिग्निफिकेंट डिजिट्स और ±1.79769313486231570E+308 यानी double के लिए 15-16 सिग्निफिकेंट डिजिट्स।
उपरोक्त बिंदुओं के आधार पर हम कह सकते हैं कि जब उच्च प्रिसिजन की आवश्यकता नहीं होती और प्रोग्राम को केवल डेसीमल नंबर्स के विशाल एरे को स्टोर करने की आवश्यकता होती है तो float डेटा स्टोर करने का एक लागत-प्रभावी तरीका है और मेमोरी बचाता है जबकि जब अधिक प्रिसिजन की आवश्यकता हो तो double के लिए जाएं।