यह अगर सच नहीं हो जाएगा x
है NaN
, के बाद से तुलना पर NaN
कर रहे हैं हमेशा गलत (हाँ, यहाँ तक कि NaN == NaN
)। अन्य सभी मामलों के लिए (सामान्य मूल्य, उप-सामान्य मूल्य, शिशु, शून्य) यह दावा सही होगा।
==
फ़्लोट्स से बचने के लिए सलाह फ़्लोटिंग पॉइंट नंबरों के लिए गणना पर लागू होती है, जो अंकगणितीय अभिव्यक्तियों में उपयोग किए जाने पर वास्तव में कई परिणाम व्यक्त करने में असमर्थ हैं। असाइनमेंट कोई गणना नहीं है और ऐसा कोई कारण नहीं है कि असाइनमेंट मूल की तुलना में एक अलग मूल्य प्राप्त करेगा।
यदि मानक का पालन किया जाता है, तो विस्तारित-सटीक मूल्यांकन एक गैर-मुद्दा होना चाहिए। <cfloat>
C से विरासत में मिला [5.2.4.2.2.8] ( जोर मेरा ):
असाइनमेंट और कास्ट को छोड़कर (जो सभी अतिरिक्त रेंज और परिशुद्धता को हटाते हैं) , फ्लोटिंग ऑपरेशंस के साथ संचालन के मूल्यों और सामान्य अंकगणितीय रूपांतरणों और फ्लोटिंग स्थिरांक के मूल्यों का मूल्यांकन एक प्रारूप में किया जाता है, जिसकी सीमा और परिशुद्धता आवश्यकता से अधिक हो सकती है। प्रकार।
हालाँकि, जैसा कि टिप्पणियों ने बताया है, कुछ संकलक, बिल्ड-ऑप्शंस और लक्ष्य के साथ कुछ मामले इस विरोधाभास को गलत बना सकते हैं।