में युगल के साथ अंकगणितीय परिशुद्धता मुझे समझ में कुछ परेशानी हो रही है कि इन युगलों की सटीकता Matlab में अंकगणितीय परिचालन के परिणाम को कैसे प्रभावित करती है। मैंने सोचा कि चूंकि & बी दोनों युगल हैं क्योंकि वे उस परिशुद्धता तक संचालन करने में सक्षम होंगे। मुझे एहसास है कि राउंड-ऑफ त्रुटि हो सकती है लेकिन चूंकि ये संख्या 64-बिट संख्या के प्रतिनिधित्व के भीतर अच्छी तरह से हैं, इसलिए मुझे नहीं लगता कि यह एक मुद्दा होगा।मैटलैब
a = 1.22e-45
b = 1
a == 0
ans = 0 %a is not equal to zero
(a + b) == 1
ans = 1
कैसे आ यह पहचान करने के लिए एक! = 0, लेकिन यह किसी भी परिवर्तन दिखाई नहीं देता जब 1 करने के लिए जोड़ा पर्याप्त परिशुद्धता ले जाने में सक्षम है।
मुझे लगता है कि मंटिसा में 52 बिट्स (एक्सपोनेंट के लिए 11 बिट्स, प्लस 1 बिट कुल 64-बिट बनाने के लिए) है। * क्लेव मोलर * (MATLAB के पहले संस्करण के लेखक) द्वारा एक उत्कृष्ट लेख फ़्लोटिंग पॉइंट नंबरों के सभी विवरण बताता है: [पीडीएफ लिंक] http://www.mathworks.com/company/newsletters/news_notes/pdf/Fall96Cleve। पीडीएफ – Amro
@ एमेरो: एक अंतर्निहित अग्रणी "1" बिट है, जब तक कि संख्या denormalized नहीं है। तो जिम के अधिकार, ज्यादातर मामलों में (और निश्चित रूप से इन संख्याओं के लिए)। –
धन्यवाद। मेरे पास अभी भी कंप्यूटर में संख्या प्रतिनिधित्व को समझने के तरीके हैं। – ZuluForce