फ्लोटिंग पॉइंट प्रकार (जैसे सिंगल और डबल) एक संकेत, एक मंटिसा और एक घातांक द्वारा मेमोरी में दर्शाए जाते हैं। इसे वैज्ञानिक संकेतन के रूप में सोचें:
Sign*Mantissa*Base^Exponent
वे - जैसा कि आप उम्मीद कर सकते हैं - आधार का उपयोग करें 2. ऐसे अन्य मोड़ हैं जो अनन्तता और NaN का प्रतिनिधित्व करने की अनुमति देते हैं, और प्रतिपादक ऑफसेट है (उस पर वापस आ जाएगा), और मंटिसा के लिए एक आशुलिपि (वह भी वापस आ जाएगी) । मानक IEEE 754 के लिए देखें जो अधिक विवरण के लिए इसके प्रतिनिधित्व और संचालन को कवर करता है।
हमारे उद्देश्यों के लिए हम इसे एक बाइनरी नंबर "मंटिसा" के रूप में कल्पना कर सकते हैं, और एक "घातांक" जो आपको बताता है कि दशमलव विभाजक को कहां रखा जाए।
सिंगल के मामले में, हमारे पास उसके हस्ताक्षर के लिए 1 बिट है, घातांक के लिए 8 और मंटिसा के लिए 23 है।
अब, बात यह है, हम सबसे महत्वपूर्ण अंक से मंटिसा को स्टोर करेंगे। याद रखें कि बाईं ओर सभी शून्य प्रासंगिक नहीं हैं। और यह देखते हुए कि हम बाइनरी में काम कर रहे हैं, हम जानते हैं कि सबसे महत्वपूर्ण अंक 1 working है। खैर, क्योंकि हम जानते हैं कि, हमें इसे स्टोर करने की आवश्यकता नहीं है। उस शॉर्टहैंड के लिए धन्यवाद, मंटिसा की प्रभावी सीमा 24 बिट्स है।
The: जब तक हम जो संख्या जमा कर रहे हैं वह शून्य है। उसके लिए हमारे पास सभी बिट्स शून्य पर सेट होंगे। हालाँकि, अगर हम यह बताने की कोशिश करें कि मैंने जो विवरण दिया है, उसके तहत आपके पास 2 ^ 24 (निहितार्थ 1) 1 (गुणक 0 की शक्ति से 2) गुणा होगा। तो, इसे ठीक करने के लिए, एक्सपोनेंट शून्य एक विशेष मूल्य है। प्रतिपादक में अनन्तता और NaN को संग्रहीत करने के लिए विशेष मान भी हैं।
प्रतिपादक ऑफसेट के अनुसार - अलग-अलग मानों को टालने से - इसे ऑफसेट करने के लिए मंटिसा की शुरुआत से पहले या उसके अंत के बाद दशमलव बिंदु को जगह देने की अनुमति मिलती है, बिना घातांक के संकेत के बिना।
इसका मतलब है कि बड़ी संख्या के लिए, फ्लोटिंग पॉइंट प्रकार दशमलव बिंदु को मंटिसा के अंत से परे रखेगा।
याद रखें कि मंटिसा एक 24 बिट संख्या है। यह कभी भी 25 बिट संख्या का प्रतिनिधित्व नहीं करेगा ... इसमें वह अतिरिक्त बिट नहीं है। इस प्रकार, एकल 2 ^ 24 और 2 ^ 24 + 1 के बीच अंतर नहीं कर सकता (ये पहले 25 बिट नंबर हैं, और वे अंतिम बिट पर भिन्न होते हैं, जो एकल में प्रतिनिधित्व नहीं करता है)।
इस प्रकार, पूर्णांकों के लिए एकल की सीमा -2 ^ 24 से 2 ^ 24 है। और 1 से 2 को जोड़ने की कोशिश कर रहा है ^ 24 का परिणाम 2 ^ 24 होगा (क्योंकि जहां तक प्रकार का संबंध है, 2 ^ 24 और 2 ^ 24 + 1 समान मूल्य हैं)। इसे ऑनलाइन आज़माएं । यही कारण है कि पूर्णांक से एकल में परिवर्तित होने पर जानकारी का नुकसान होता है। और यह भी है कि एक लूप जो एक या एक डबल का उपयोग करता है, वह वास्तव में आपके लिए बिना देखे एक अनंत लूप हो सकता है।