पायथन में अधिकतम फ्लोट क्या है?


172

मुझे लगता है कि अजगर में अधिकतम पूर्णांक कॉल करके उपलब्ध है sys.maxint

अधिकतम floatया longपायथन में क्या है ?


sys.maxintपाइथन 3 में कोई नहीं है
डेविड मैककोररी

जवाबों:


273

के लिए floatपर एक नजर है sys.float_info:

>>> import sys
>>> sys.float_info
sys.floatinfo(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2
250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsil
on=2.2204460492503131e-16, radix=2, rounds=1)

विशेष रूप से sys.float_info.max:

>>> sys.float_info.max
1.7976931348623157e+308

यदि यह पर्याप्त बड़ा नहीं है, तो हमेशा सकारात्मकता होती है :

>>> infinity = float("inf")
>>> infinity
inf
>>> infinity / 10000
inf

longप्रकार असीमित सटीक है तो मुझे लगता है आप ही उपलब्ध स्मृति द्वारा सीमित कर रहे हैं,।


1
वास्तव में, मैंने पाया कि sys.maxint मेरे आवेदन के लिए पर्याप्त है
लेडीफाफा

ऐसा लगता है sys.float_infoकि यह v2.6 से शुरू होता है। कैसे v2.3-5 के बारे में?
अलेक्सी फेडोटोव

1
नोट sys.float_info.min को "न्यूनतम सकारात्मक सामान्यीकृत फ्लोट" के रूप में परिभाषित किया गया है । छोटे मूल्य के मान संभव हैं, नीचे5e-324
बॉब स्टीन

1
कूल, दोनों बहुत उपयोगी हैं। infसभी चीजों के लिए अजगर, और float_info.maxपहले की तरह काम नहीं करता है, जब एक वर्कअराउंड के रूप में, उदाहरण के लिए time.sleep(float("inf"))अनुमति नहीं है :(
Dima Tisnek

2
@ladyfafa: sys.maxint Python 3 में चला गया है, अन्य उत्तर में भी टिप्पणियाँ देखें और stackoverflow.com/questions/13795758/…
Joachim Wagner

16

अजगर द्वारा समर्थित sys.maxint सबसे बड़ा पूर्णांक नहीं है। यह अजगर के नियमित पूर्णांक प्रकार द्वारा समर्थित सबसे बड़ा पूर्णांक है।


10
+1 यह महत्वपूर्ण है। Py3k में, यह लगभग अर्थहीन है - यह वह बिंदु है जिस पर पायथन (पारदर्शी!) अंतर्निहित डेटाटाइप को बदलता है long
कैट्रील

6
@katrielalex: sys.maxintPython 3 में भी परिभाषित नहीं है, इसे कहा जाता है sys.maxsize, जिसे शायद Python 2 में भी पसंद किया जा सकता है।
स्कॉट ग्रिफ़िथ्स

14
@ स्कॉट ग्रिफ़िथ: काफी नहीं। sys.maxsize(पायथन 2.6 में पेश) और sys.maxintदो अलग-अलग चीजें हैं। पहला संग्रह में अनुमत वस्तुओं की अधिकतम संख्या देता है (जैसे, किसी सूची का अधिकतम आकार, तानाशाह आदि), और सी size_tप्रकार के एक हस्ताक्षरित संस्करण से मेल खाती है ; दूसरा वह बिंदु है जिसके बाद intप्रकार स्विच करता है long, और सी का अधिकतम मूल्य है long। कुछ प्लेटफार्मों पर दोनों मूल्य अलग-अलग हैं: उदाहरण के लिए, 64-बिट विंडोज पर, sys.maxsizeहै 2**63-1और sys.maxintहै 2**31-1
मार्क डिकिन्सन

@ मर्क डिकिंसन: सुधार के लिए धन्यवाद - मुझे एहसास नहीं था कि वे कभी भी अलग हो सकते हैं (हिम तेंदुए पर 64-बिट पायथन के साथ वे दोनों हैं 2**63-1)।
स्कॉट ग्रिफ़िथ


7

यदि आप सुन्न का उपयोग कर रहे हैं , तो आप dtype ' float128 ' का उपयोग कर सकते हैं और 10e + 4931 का अधिकतम फ्लोट प्राप्त कर सकते हैं

>>> np.finfo(np.float128)
finfo(resolution=1e-18, min=-1.18973149536e+4932, max=1.18973149536e+4932, dtype=float128)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.