गणितीय रूप से, 0.9 पुनरावर्ती 1 के बराबर दिखाया जा सकता है। हालांकि, यह प्रश्न अनंत, अभिसरण या इसके पीछे गणित के बारे में नहीं है।0.9 आवर्ती हमेशा बराबर नहीं है 1
उपर्युक्त धारणा निम्नलिखित के साथ सी # में युगल का उपयोग करके प्रदर्शित की जा सकती है।
var oneOverNine = 1d/9d;
var resultTimesNine = oneOverNine * 9d;
ऊपर दिए गए कोड का उपयोग करके, (resultTimesNine == 1d)
सत्य का मूल्यांकन करता है।
इसके बजाय decimals का उपयोग करते समय, मूल्यांकन झूठा पैदा करता है, फिर भी, मेरा सवाल डबल और दशमलव की असमान परिशुद्धता के बारे में नहीं है।
चूंकि किसी भी प्रकार में अनंत परिशुद्धता नहीं है, तो कैसे और क्यों समान समानता बनाए रखता है जहां दशमलव नहीं होता है? oneOverNine
वैरिएबल मेमोरी में संग्रहीत तरीके के तरीके के संबंध में, उपर्युक्त कोड के 'लाइनों के बीच' क्या हो रहा है?
मुझे लगता है कि गोलाकार होता है। '1.0' की ओर युगल के लिए, इससे दूर तैरने के लिए। – millimoose
सी #, कंपाइलर और ओएस का संस्करण क्या है? यह पूछना क्योंकि 64-बिट Win7 मशीन पर VS2010 का उपयोग करना मेरे लिए फ्लोट और युगल दोनों के लिए 'सत्य' उत्पन्न करता है, चाहे x86 या x64 कर रहा हो। –
@ जोएलरोडोउ मेला प्रश्न, मेरी वर्तमान मशीन (वीएस -2010, विन 7 एक्स 64) पर, मुझे आपके जैसे ही परिणाम मिलते हैं, लेकिन दशमलव के लिए झूठा, फिर से, सटीक मतभेद, लेकिन तुलना के लिए दिलचस्प। –