Bu hesaplamayı denediğimde bir Taşma hatası alıyorum, ancak nedenini anlayamıyorum.Python: OverflowError: matematik aralığı hatası
1-math.exp(-4*1000000*-0.0641515994108)
Bu hesaplamayı denediğimde bir Taşma hatası alıyorum, ancak nedenini anlayamıyorum.Python: OverflowError: matematik aralığı hatası
1-math.exp(-4*1000000*-0.0641515994108)
Hesaplamak için math.exp sorduğunuz sayı, ondalık, 110.000 basamaktan fazladır. Bu bir çiftin menzilinin biraz dışında, bu yüzden taşmaya neden oluyor.
bir çözüm var mı? –
Bu size bir ipucu verebilir neden:
http://www.wolframalpha.com/input/?i=math.exp%28-4*1000000*-0.0641515994108%29
Bildirimi 111.442 üs.
Değerin double
python'a sığmayacak kadar büyük olduğunu düşünüyorum, bu yüzden OverflowError
'u edinebilirsiniz. Makinemdeki exp
'u hesaplayabildiğim en büyük değer, 709.78271'den biraz daha büyük.
kullanmak düzeltmek için: linux `calc` da ifade math.exp hesaplamak için uzun sürüyor
try:
ans = math.exp(200000)
except OverflowError:
ans = float('inf')
- benim PC'de aslında yaklaşık 3 dakika. çıkışı ekranda uymayan, ama burada bunun son parçası: 72601064848030549330052235283692208900018564830019400961030549300613573049038658490326003709885716700599883485335384987825755170505520081515667880006364976728119694600659746416440802282624919298297947165561974790549306225384099033699937030324423057761382164874383992786304290520859618809208146480637711575173287535774531529104427355177803053295844887694582338200906830029698966101673406039727344889895537434766431106 – kovshenin