C ++ में pow (0, 0) के परिणाम मूल रूप से कार्यान्वयन परिभाषित व्यवहार है क्योंकि गणितीय रूप से हमारे पास एक विरोधाभासी स्थिति है जहां N^0
हमेशा होना चाहिए 1
लेकिन 0^N
हमेशा के 0
लिए N > 0
होना चाहिए, इसलिए आपको गणितीय रूप से इस के परिणाम के रूप में कोई अपेक्षा नहीं होनी चाहिए। यह वुल्फराम अल्फा फोरम पोस्ट थोड़ा और अधिक विवरण में जाता है।
यद्यपि pow(0,0)
परिणाम होने के कारण अंतर्राष्ट्रीय मानक-प्रोग्रामिंग भाषाओं के लिए तर्क के1
रूप में कई अनुप्रयोगों के लिए उपयोगी है - सी राज्यों में IEC 60559 अस्थायी-बिंदु अंकगणितीय समर्थन शामिल है:
आम तौर पर, C99 एक NaN परिणाम से बचता है जहां एक संख्यात्मक मूल्य उपयोगी होता है। [...] pow (∞, 0) और pow (0,0) के परिणाम दोनों 1 हैं, क्योंकि ऐसे अनुप्रयोग हैं जो इस परिभाषा का फायदा उठा सकते हैं। उदाहरण के लिए, यदि x (p) और y (p) कोई विश्लेषणात्मक कार्य हैं जो p = a, तो pow (x, y) पर शून्य हो जाते हैं, जो exp (y * log (x)) के बराबर होता है, तो p दृष्टिकोण के रूप में 1 आता है। ए।
C ++ अपडेट करें
के रूप में leemes सही ढंग से कहा मैं मूल रूप से के लिए संदर्भ से जुड़ा हुआ जटिल के संस्करण पॉव जबकि गैर जटिल संस्करण का दावा है यह है डोमेन त्रुटि मसौदा सी ++ मानक के लिए वापस गिर जाता मसौदा सी मानक और दोनों C99 और C11 खंड में 7.12.7.4
पॉव कार्यों पैरा 2 कहते हैं ( मेरा जोर ):
[...] एक डोमेन त्रुटि तब हो सकती है यदि x शून्य है और y शून्य है। [...]
जो जहाँ तक मैं साधन इस व्यवहार कर रहा है बता सकते हैं अनिर्दिष्ट व्यवहार एक सा खंड पीठ समापन 7.12.1
त्रुटि की स्थिति के उपचार का कहना है:
[...] एक डोमेन त्रुटि तब होती है जब एक इनपुट तर्क उस डोमेन के बाहर होता है जिस पर गणितीय फ़ंक्शन परिभाषित होता है। [...] एक डोमेन त्रुटि पर, फ़ंक्शन एक कार्यान्वयन-परिभाषित मान लौटाता है; यदि पूर्णांक अभिव्यक्ति math_errhandling और MATH_ERRNO नॉनज़ेरो है, तो पूर्णांक अभिव्यक्ति इरान मान EDOM प्राप्त करता है; [...]
इसलिए यदि कोई डोमेन त्रुटि थी, तो यह क्रियान्वित परिभाषित व्यवहार होगा, लेकिन दोनों के नवीनतम संस्करणों में gcc
और clang
इसका मूल्य है errno
, 0
इसलिए यह उन कंपाइलरों के लिए एक डोमेन त्रुटि नहीं है ।
जावास्क्रिप्ट अद्यतन करें
के लिए जावास्क्रिप्ट ECMAScript® भाषा विशिष्टता खंड में 15.8
मठ वस्तु के तहत 15.8.2.13
पॉव (एक्स, वाई) कि अन्य शर्तों के बीच का कहना है:
यदि y +0 है, तो परिणाम 1 है, भले ही x NaN हो।