Python中文
首页
教程
问答
标签
搜索
登录
注册
在Python中除以大数
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试着用Python划分一些大的数字,但是得到了一些奇怪的结果</p> <pre><code>NStr = "7D5E9B01D4DCF9A4B31D61E62F0B679C79695ACA70BACF184518" \ "8BDF94B0B58FAF4A3E1C744C5F9BAB699ABD47BA842464EE93F4" \ "9B151CC354B21D53DC0C7FADAC44E8F4BDF078F935D9D07A2C07" \ "631D0DFB0B869713A9A83393CEC42D898516A28DDCDBEA13E87B" \ "1F874BC8DC06AF03F219CE2EA4050FA996D30CE351257287" N = long(NStr, 16) f2 = 476 fmin = N / float(f2) print N - (fmin * float(f2)) </code></pre> <p>这将按预期输出<code>0.0</code>。但是,如果我,例如,将代码更改为</p> <pre><code>fmin = N / float(f2) fmin += 1 </code></pre> <p>我仍然得到<code>0.0</code>的输出</p> <p>我也试过用十进制程序包</p> <pre><code>fmin = Decimal(N) / Decimal(f2) print Decimal(N) - (fmin * Decimal(f2)) </code></pre> <p>但这给了我一个<code>-1.481136900397802034028076389E+280</code>的输出</p> <p>我想我并没有告诉python如何正确地处理大数,但是我很难知道从这里开始该怎么做。</p> <p>我还要补充一点,最终目标是</p> <pre><code>fmin = ceil(N / float(f2)) </code></pre> <p>尽可能长和准确</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果需要精度,请完全避免使用浮点运算。由于python有任意精度的整数,所以可以使用基本整数算法计算除法的上限。假设被除数和除数都是正的,方法是在除数之前把除数-1加到被除数上。就你而言:</p> <pre><code>fmin = (N + f2 - 1) / f2 </code></pre> <p>在Python 3.x上,使用<code>//</code>运算符而不是<code>/</code>来获取整数除法。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
5 回答
当用户登录到站点时,如何显示不同的导航栏
8 回答
当用户登录时,在Flask中向用户显示处理结果
5 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
2 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
10 回答
当用户的付款逾期2天时,从Django模型检索数据
8 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
9 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
9 回答
当用户确定打印数量时,使用Matplotlib打印动画
8 回答
当用户离开时是否可以删除整个网页?
4 回答
当用户给出一个单词时如何打印?
7 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
2 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
5 回答
当用户被更改时,消息不会来自web套接字
5 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
4 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
4 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
8 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
7 回答
当用户购买某个类别时,是否查找其他类别的销售?
7 回答
当用户转到上一页时,Django和芹菜插入操作
3 回答