यदि आपका एक्सपोनेंट दशमलव है (यानी यह 10^एक्स का प्रतिनिधित्व करता है), तो आप 0.1 का प्रतिनिधित्व कर सकते हैं - हालांकि, अधिकांश फ़्लोटिंग पॉइंट प्रारूप बाइनरी एक्सपोनेंट्स का उपयोग करते हैं (यानी वे 2^एक्स का प्रतिनिधित्व करते हैं)। चूंकि कोई पूर्णांक X
और Y
ऐसे Y * (2^X) = 0.1
नहीं हैं, इसलिए आप अधिकतर फ़्लोटिंग पॉइंट प्रारूपों में 0.1 का सटीक रूप से प्रतिनिधित्व नहीं कर सकते हैं।
कुछ भाषाओं में दोनों एक्सपोनेंट्स के साथ प्रकार होते हैं। सी # में, उदाहरण के लिए, एक डेटा प्रकार उपयुक्त नाम decimal
है जो एक दशमलव एक्सपोनेंट के साथ एक फ़्लोटिंग पॉइंट प्रारूप है, इसलिए यह 0.1 जैसी संख्या को संग्रहीत करने में सहायता करेगा, हालांकि इसमें अन्य असामान्य गुण हैं: decimal
प्रकार 0.1
और 0.10
के बीच अंतर कर सकता है , और x
के सभी मानों के लिए यह हमेशा सत्य है कि x + 1 != x
।
सबसे आम प्रयोजनों के लिए, हालांकि, सी # भी float
और double
चल बिन्दु प्रकार है कि ठीक 0.1 संग्रहीत नहीं कर सकता, क्योंकि वे एक द्विआधारी प्रतिपादक (के रूप में आईईईई-754 में परिभाषित) का उपयोग किया है। द्विआधारी फ्लोटिंग पॉइंट प्रकार कम भंडारण का उपयोग करते हैं, तेज़ी से होते हैं क्योंकि उन्हें कार्यान्वित करना आसान होता है, और उनके ऊपर अधिक परिचालन परिभाषित होते हैं। सामान्य रूप से decimal
केवल वित्तीय मानों के लिए उपयोग किया जाता है जहां सभी दशमलव मानों का सटीक प्रतिनिधित्व महत्वपूर्ण है और संचालन, गति और संचालन की सीमा नहीं है।
धन्यवाद, सी # उदाहरण दिलचस्प है – tsiki