पायथन में, जब एक बड़ी संख्या (पूर्णांक या फ्लोट) की गणना की जाती है, तो ऐसा लगता है कि संख्या वैज्ञानिक संकेतन में संग्रहीत की जाएगी और इसलिए गलत हो जाएगी। जैसे
>>> rst = 15
>>> dst = [10, 14, 10, 14, 10, 14, 10, 14, 10, 14, 10, 14, 10, 14]
>>> [float(dst[i])*float(rst)**float(i) for i in range(len(dst))]
[10.0, 210.0, 2250.0, 47250.0, 506250.0, 10631250.0, 113906250.0, 2392031250.0, 25628906250.0, 538207031250.0, 5766503906250.0, 121096582031250.0, 1297463378906250.0, 2.724673095703125e+16]
>>> # please note the last element is stored in scientific notation
>>> # but if calculate 14*15**13 (same as how the last element is calculated)
>>> 14*15**13
>>> 27246730957031250
>>> # result is fine
>>> 14*15**13 == dst[-1]
>>> False
मुझे अजगर बड़ी संख्या की गणना में वैज्ञानिक संकेतन को कैसे दबाना चाहिए?
2 जवाब
please note the last element is stored in scientific notation
but if calculate 14*15**13 (same as how the last element is calculated)
अंतिम तत्व float
है, जबकि 14**15**13
का परिणाम int
है। यदि आप केवल int
s के साथ काम कर रहे हैं (और विभाजित न करें) तो आपको int
मिलेगा जिस स्थिति में e
-नोटेशन का उपयोग नहीं किया जाता है।
कृपया ध्यान दें कि किसी संख्या को स्मृति में कैसे संग्रहीत किया जाता है और गणना में उपयोग किया जा रहा है (फ्लोट या इंट के रूप में) और इसे कैसे स्ट्रिंग में परिवर्तित किया जाता है और स्क्रीन पर प्रदर्शित किया जाता है (पूर्णांक, निश्चित बिंदु या वैज्ञानिक संकेतन के रूप में गोल)। ये दो पूरी तरह से स्वतंत्र अवधारणाएँ हैं, इसलिए किसी चीज़ को एक निश्चित तरीके से प्रदर्शित करते हुए देखना स्वतः ही सटीकता के बारे में कुछ नहीं कहता है।
In [8]: i = 123
In [9]: print('integer displayed as int: %i, as fixed point: %.1f or %.3f, and in scientific notation: %e' % (i, i, i, i))
integer displayed as int: 123, as fixed point: 123.0 or 123.000, and in scientific notation: 1.230000e+02
In [10]: f = 1.23
In [11]: print('floating point displayed as int: %i, as fixed point: %.1f or %.3f, and in scientific notation: %e' % (f, f, f, f))
floating point displayed as int: 1, as fixed point: 1.2 or 1.230, and in scientific notation: 1.230000e+00
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।