आपके यहाँ वास्तव में दो प्रश्न हैं।
वैसे भी किसी को फ्लोटिंग पॉइंट गणित की आवश्यकता क्यों है?
जैसा कि कार्ल बेवफेल्ट बताते हैं, फ्लोटिंग पॉइंट नंबर आपको निरंतर मात्रा में मॉडल देते हैं - और आप उन सभी को जगह पाते हैं - न केवल भौतिक दुनिया में, बल्कि व्यवसाय और वित्त जैसी जगहों पर भी।
मैंने अपने प्रोग्रामिंग करियर में कई, कई क्षेत्रों में फ्लोटिंग पॉइंट गणित का उपयोग किया है: रसायन विज्ञान, ऑटोकैड पर काम करना, और यहां तक कि वित्तीय भविष्यवाणियां करने के लिए एक मोंटे कार्लो सिम्युलेटर लिखना। वास्तव में, डेविड ई। शॉ नाम का एक लड़का है जिसने अरबों बनाने के लिए वॉल स्ट्रीट में फ्लोटिंग-पॉइंट आधारित वैज्ञानिक मॉडलिंग तकनीकों का उपयोग किया है।
और, ज़ाहिर है, वहाँ कंप्यूटर ग्राफिक्स है। मैं यूजर इंटरफेस के लिए आई कैंडी विकसित करने पर परामर्श करता हूं, और आजकल फ्लोटिंग पॉइंट, त्रिकोणमिति, कलन और रैखिक बीजगणित की ठोस समझ के बिना ऐसा करने की कोशिश कर रहा हूं, जो एक पॉकेटकीफ़ के साथ बंदूक की लड़ाई को दिखाने जैसा होगा।
किसी को फ्लोट बनाम डबल की आवश्यकता क्यों होगी ?
IEEE 754 मानक अभ्यावेदन के साथ, एक 32-बिट फ्लोट आपको सटीकता के 7 दशमलव अंकों और 10 -38 से 10 38 की सीमा में विस्तारक प्रदान करता है । 64-बिट डबल आपको सटीकता के लगभग 15 दशमलव अंक देता है, और 1030 -307 से 10 307 की सीमा में घातांक होता है ।
ऐसा लग सकता है कि एक नाव के लिए पर्याप्त होगा जो किसी को यथोचित आवश्यकता होगी, लेकिन यह नहीं है। उदाहरण के लिए, कई वास्तविक विश्व मात्राओं को 7 से अधिक दशमलव अंकों में मापा जाता है।
लेकिन अधिक सूक्ष्म रूप से, एक समस्या है जिसे बोलचाल की भाषा में "राउंडऑफ़ त्रुटि" कहा जाता है। बाइनरी फ़्लोटिंग पॉइंट अभ्यावेदन केवल उन मानों के लिए मान्य होते हैं जिनके भिन्नात्मक भागों में एक हर होता है जो कि 2 की शक्ति होती है, जैसे 1/2, 1/4, 3/4, आदि अन्य अंशों का प्रतिनिधित्व करने के लिए, जैसे 1/10, आप "गोल" निकटतम बाइनरी अंश के लिए मूल्य, लेकिन यह थोड़ा गलत है - यह "राउंडऑफ़ त्रुटि" है। फिर जब आप उन गलत नंबरों पर गणित करते हैं, तो परिणामों में गलतियां आपके द्वारा शुरू की गई तुलना में कहीं अधिक खराब हो सकती हैं - कभी-कभी त्रुटि प्रतिशत गुणा, या यहां तक कि तेजी से ढेर।
वैसे भी, जितने अधिक द्विआधारी अंक के साथ आपको काम करना है, आपके राउंड-ऑफ बाइनरी प्रतिनिधित्व के करीब आप प्रतिनिधित्व करने की कोशिश कर रहे संख्या के लिए होंगे, इसलिए इसकी राउंडऑफ त्रुटि छोटी होगी। फिर जब आप इस पर गणित करते हैं, यदि आपके पास काम करने के लिए बहुत सारे अंक हैं, तो आप संचयी राउंडऑफ़ त्रुटि से पहले बहुत अधिक संचालन कर सकते हैं जहां यह समस्या है।
वास्तव में, उनके 15 दशमलव अंकों के साथ 64-बिट युगल कई अनुप्रयोगों के लिए पर्याप्त नहीं हैं। मैं 1985 में 80-बिट फ्लोटिंग पॉइंट नंबरों का उपयोग कर रहा था, और IEEE अब 128-बिट (16-बाइट) फ़्लोटिंग पॉइंट प्रकार को परिभाषित करता है, जिसके लिए मैं उपयोग की कल्पना कर सकता हूं।