उदाहरण के लिए, में:डबल क्यों है। पर्स शून्य के संकेत को अनदेखा करते हैं?
bool eq = (1/double.Parse("-0.0")) == (1/-0.0);
eq
false
हो जाएगा।
double.Parse
शून्य के लिए संकेत को स्पष्ट रूप से अनदेखा करने के लिए कुछ परेशानी से गुजरना होगा, भले ही ऐसा न हो कि लगभग किसी समस्या का नतीजा न हो। चूंकि मुझे कच्चे प्रतिनिधित्व की आवश्यकता है, इसलिए मुझे अपना खुद का पार्सिंग फ़ंक्शन लिखना पड़ा जो विशेष मामलों के नकारात्मक शून्य और अन्य सभी चीज़ों के लिए double.Parse
का उपयोग करता है।
यह एक बड़ी समस्या नहीं है, लेकिन मैं वास्तव में सोच रहा हूं कि उन्होंने शून्य के हस्ताक्षर को अनदेखा करने का निर्णय क्यों लिया, क्योंकि ऐसा लगता है कि ऐसा नहीं करना एक बुरी बात नहीं होगी।
आपको शून्य के संकेत की आवश्यकता क्यों होगी? आईईईई 754 बताता है कि '0 == -0' सब के बाद। –
आपका कोड उदाहरण DivideByZeroException को क्यों नहीं फेंकता है? – FishBasketGordo
@ डोनल: क्योंकि मुझे बाइट्स में कच्चे प्रतिनिधित्व की आवश्यकता है, और यह अलग है। @ फिशबस्केट गॉर्डो: क्योंकि आईईईई 754 फ्लोटिंग पॉइंट में शून्य से विभाजन कानूनी और अच्छी तरह से परिभाषित है। – harold