2016-02-15 5 views
5

मैं कंसोल पर एक साधारण अंकगणित कोशिश कर रहा था जहां मैंने -1 के साथ 0 गुणा करने की कोशिश की। दिलचस्प बात यह है कि मैं एक मिल गया -0 जवाब है, 0.जावास्क्रिप्ट रिटर्न -0

के बजाय के रूप में स्क्रीनशॉट:

enter image description here

किसी को भी इन परिणामों की व्याख्या कर सकते हैं?

+0

कोड कहां है? – Rayon

+1

मेरा मानना ​​है कि उसने डेवलपर कंसोल –

+0

पर कोई कोशिश नहीं की है .. कंसोल में कोशिश करते समय हुआ। –

उत्तर

1

जावास्क्रिप्ट, जैसा कि ऊपर और यह भी उल्लेख किया आईईईई 754 का उपयोग करता है

आईईईई 754 फ्लोटिंग प्वाइंट अंकगणित (वर्तमान में अधिकांश कंप्यूटर और प्रोग्रामिंग भाषाओं बिंदु चल समर्थन कि संख्या द्वारा प्रयुक्त) के लिए मानक दोनों की आवश्यकता है +0 और -0। हस्ताक्षरित शून्य के साथ वास्तविक अंकगणित विस्तारित वास्तविक संख्या रेखा का एक संस्करण माना जा सकता है जैसे कि 1/-0 = -∞ और 1/+ 0 = + ∞; विभाजन केवल ± 0/± 0 और ± ∞/± ∞ के लिए अपरिभाषित है।

नकारात्मक हस्ताक्षर किए शून्य, गूँज एक तरफा सीमा के रूप में नीचे से 0 के करीब पहुंच के गणितीय विश्लेषण अवधारणा है, जो एक्स → 0- से निरूपित किया जा सकता है एक्स → 0-, या एक्स → ↑ 0। नोटेशन "-0" को अनौपचारिक रूप से पर उपयोग किया जा सकता है जो एक छोटे से नकारात्मक संख्या को इंगित करता है जो शून्य पर गोल किया गया है। नकारात्मक शून्य की अवधारणा में सांख्यिकीय यांत्रिकी और अन्य विषयों में कुछ सैद्धांतिक अनुप्रयोग भी हैं।

यह दावा किया है कि आईईईई 754 में हस्ताक्षर किए शून्य के शामिल किए जाने, जब जटिल प्राथमिक कार्यों के साथ कंप्यूटिंग यह बहुत आसान कुछ महत्वपूर्ण समस्याओं में संख्यात्मक सटीकता प्राप्त करने के लिए बनाता है (http://people.freebsd.org/~das/kahan86branch.pdf) विशेष में है।

http://www.johndcook.com/blog/2010/06/15/why-computers-have-signed-zero/

2

जावास्क्रिप्ट आईईईई -754 का उपयोग कर रहा है, जिसमें सकारात्मक और नकारात्मक दोनों शून्य हैं।

+0

दिलचस्प .. हमें ऋणात्मक शून्य के लिए उपयोग कहां मिलते हैं? –

+0

मेरा मानना ​​है कि इसका कोई महत्वपूर्ण उपयोग नहीं है - यह केवल एन्कोडिंग का दुष्प्रभाव है। – yihangho

+1

जैसा कि बताया गया है [यहां] (http://stackoverflow.com/a/27074403/704944), एक संभावित कारण शून्य से इतना विभाजन हो सकता है- ∞ और + ∞ – jeremy

5

Under the IEEE standard

हस्ताक्षर शून्य एक संबंधित संकेत के साथ शून्य है। सामान्य अंकगणित में, -0 = +0 = 0. हालांकि, कंप्यूटिंग में, कुछ संख्या प्रस्तुतियां 0 शून्यको दो शून्यों के अस्तित्व के लिए अनुमति देती हैं, जो अक्सर -0 (ऋणात्मक शून्य) और +0 (सकारात्मक शून्य) द्वारा दर्शायी जाती हैं। यह कुछ हस्ताक्षरित संख्या पूर्णांक के लिए प्रस्तुतियों में होता है, और अधिकांश फ़्लोटिंग पॉइंट नंबर प्रस्तुतियों में होता है। संख्या 0 आमतौर पर +0 के रूप में एन्कोड किया जाता है, लेकिन या तो +0 या -0 द्वारा दर्शाया जा सकता है।

+0

ओह .. लेकिन क्या यह वही तरीका है? या हम -0 खो सकते हैं? –

+0

x === y की तुलना के लिए मानक का इसका हिस्सा .. यहां देखें: http://ecma262-5.com/ELS5_HTML.htm#Section_11.9.6 – Fergus

0

जावास्क्रिप्ट आईईईई 754 मानक चल बिन्दु संख्या प्रणाली का उपयोग करता। इस प्रणाली में positive and negative zeros दोनों हैं, हालांकि तुलना करते समय वे बराबर हैं। इसमें सकारात्मक और नकारात्मक अनंतता और "संख्या नहीं" मान भी हैं।

संबंधित मुद्दे