首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >整数除法总是等于规则除法的地板吗?

整数除法总是等于规则除法的地板吗?
EN

Stack Overflow用户
提问于 2018-12-21 22:44:43
回答 2查看 3.4K关注 0票数 33

对于大商,整数除法(//)似乎不一定等于正则除法(math.floor(a/b))的下限。

根据Python (https://docs.python.org/3/reference/expressions.html - 6.7),

整数的地板除法得到一个整数;结果是数学除法的结果,并将“地板”函数应用于结果。

然而,

代码语言:javascript
运行
复制
math.floor(648705536316023400 / 7) = 92672219473717632

648705536316023400 // 7 = 92672219473717628

'{0:.10f}'.format(648705536316023400 / 7)产生“92672219473717632.0000000000”,但小数部分的最后两位数应该是28,而不是32。

EN

回答 2

Stack Overflow用户

发布于 2018-12-21 22:53:17

您可能正在处理的积分值太大,无法准确表示为浮点数。您的数字明显大于2^53,即相邻浮点之间的间隙开始大于1。。所以你在做浮点除法时会失去一些精度。

另一方面,整数除法是精确计算的。

票数 19
EN

Stack Overflow用户

发布于 2019-09-24 15:19:33

所谓“数学除法”,Python文档是指实数的精确除法。

现在,回到关于整数除法(a.k.a )的问题。欧几里得除法)与浮点除法(比“常规除法”)相比较,我在2005年研究了这个问题。我证明了,对于基数2中最近的四舍五入,如果x−y精确可表示,那么浮点除x/y的地板,即−,等于整数除法。你可以得到纸在我的网站上论HAL

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53891566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档