मैं हाल ही में पता चला कि x**.5
और math.sqrt(x)
हमेशा पायथन में एक ही परिणाम का उत्पादन नहीं करते:जो अधिक सटीक है, x **। 5 या math.sqrt (x)?
Python 2.6.1 (r261:67517, Dec 4 2008, 16:51:00) [MSC v.1500 32 bit (Intel)]
on win32
>>> 8885558**.5 - math.sqrt(8885558)
-4.5474735088646412e-13
10 ** 7 नीचे सभी पूर्णांकों जाँच हो रही है, दो तरीकों नमूनों की लगभग ठीक 0.1% के लिए अलग-अलग परिणाम का उत्पादन किया, बड़ी संख्या के लिए त्रुटि (धीरे-धीरे) बढ़ने के आकार के साथ।
तो सवाल यह है कि कौन सी विधि अधिक सटीक है?
क्या आप "त्रुटि दर" से क्या मतलब समझ सकते हैं? –
वर्ग रूट की गणना करने के दो तरीके 10 ** 7 से नीचे 10,103 संख्याओं के समान परिणाम नहीं देते हैं। (या लगभग 0.1%) –
मैं देखता हूं, यही कारण है कि मुझे संदेह है कि आपका मतलब हो सकता है। आपको शायद यह पता चलेगा कि जब दो गणना विधियों के बीच कोई अंतर होता है, तो अंतर कम से कम महत्वपूर्ण या संभवतः फ़्लोटिंग पॉइंट प्रस्तुति के दो बिट्स में होगा। इसे सामान्य माना जाता है और परिणामों की गणना करने के लिए उपयोग किए जाने वाले विभिन्न एल्गोरिदम का परिणाम होता है। –