当前位置: 首页 > 知识库问答 >
问题:

溢出错误:长整型太大,无法转换为浮点[duplicate]

薄鸿远
2023-03-14

我试图得到一个非常大的数字的平方根,但我得到了错误:deltaSqrt=pow(delta,0.5)溢出错误:长int太大,无法转换为浮动

在我的情况下,delta等于:

5097524159124305711208346976972093994517918559319839193986818402316359809127198287961957143680580475665158537123211669238507145109614915183501090991258372348911567096198391700545859284651871243167548321047645673131690445736385731455226353155143585522960326625070327122610654962530056330418391386124854577090206480385789275416714631025155369128530489779489101162403615113670950177532664946764525175541382065187304866582420329863524912760301704277886453413147449455323732476653550495366827445013669840800229684474814585992820804300231060966713580804079322252173910482245551821723868004571663524727449944378683955667216

我应该怎么做才能得到这个数的平方根?

共有2个答案

江飞白
2023-03-14

如果其他方法无效,请尝试以下方法:http://code.google.com/p/gmpy/

华献
2023-03-14

使用十进制:

import decimal
>>> d = decimal.Decimal('5097524159124305711208346976972093994517918559319839193986818402316359809127198287961957143680580475665158537123211669238507145109614915183501090991258372348911567096198391700545859284651871243167548321047645673131690445736385731455226353155143585522960326625070327122610654962530056330418391386124854577090206480385789275416714631025155369128530489779489101162403615113670950177532664946764525175541382065187304866582420329863524912760301704277886453413147449455323732476653550495366827445013669840800229684474814585992820804300231060966713580804079322252173910482245551821723868004571663524727449944378683955667216')
>>> d.sqrt()
Decimal('7.139694782779097001143800270E+307')
 类似资料:
  • 我正在用python研究基本微积分和阶乘。试图从牛顿级数生成PI,但我不能超过171次迭代,因为这个错误:overflowerrror:int太大,无法转换为float。代码如下: 我导入了这个:从数学导入阶乘,gamma/从数学导入sqrt

  • ()中的ValueError回溯(最近一次调用)---- ~\Anaconda3\lib\site packages\sklearn\preprocessing\data.py in fit_transform(self,X,y)2017”““2018年返回所选的fit_transform(X,self.\u fit_transform- ~\Anaconda3\lib\site-包\skLear

  • 问题内容: 给出的是一个简单的CSV文件: 显然,实际数据集比这要复杂得多,但是这一数据再现了错误。我正在尝试为其构建一个随机森林分类器,如下所示: 但是当我调用fit()时,我只是得到了这个追溯: scikit-learn版本为0.16.1。 问题答案: 在使用fit之前,您必须进行一些编码。如前所述,fit()不接受字符串,但是您可以解决此问题。 有几种可以使用的类: LabelEncoder

  • 问题内容: 为什么在将long分配给min和max的地方得到的int数太大? 问题答案: 默认情况下,java中的所有文字数字均为,范围为 包含在内。 您的文字超出了此范围,因此要进行编译,您需要指出它们是文字(即带有的后缀): 请注意,java同时支持大写和小写,但我建议 不要 使用小写,因为它看起来像: 相同的Java语言规范 如果以ASCII字母L或l(ell)为后缀,则整数文字的类型为lo

  • 我得到了错误 溢出错误:无法将浮点无穷大转换为整数 根据该代码: 怎么会执行部分呢?如何解决这个问题? 编辑: 完整堆栈跟踪: 回溯(最后一次调用):文件“aggregateData.py”,第27行,在df.set_value(df.date==key,name,data['occurrence'][0][key])中,更新df文件“/usr/local/lib/python2.7/dist p

  • 问题内容: 我正在做s和s的乘法和除法,但我忘记了隐式转换规则(问题中的单词似乎太含糊,以至于Google不能比在这里问得更快)。 如果我有两个s,但我想进行浮点除法,是否只需要强制转换一个或两个操作数?如何相乘-如果我将a 和an 相乘,答案是a 吗? 问题答案: 您不能将结果除以a ,反之亦然。 因此答案是: 如果我有两个s,但是我想做浮点除法…? 一个演员就足够了。 如果我将a 和an 相乘