当前位置: 首页 > 面试题库 >

负整数除法令人惊讶的结果

刘浩思
2023-03-14
问题内容

在我的应用程序中,我遇到了以下问题,并对结果感到惊讶:

8/-7=-2 (两个整数)。

这是什么意思?


问题答案:

对于实际值,即8.0/(-7.0)结果为-1.143

您使用整数除法得到的结果将向下舍入为的更负值-2。(也称为“地板部门”)

这就是为什么您会得到以下令人困惑的答案的原因:

>>> 8/(-7)
-2
>>> 8/7
1

注: 这是在Python 3中,其中的结果,“固定”8/(-7)-1.143。因此,如果您没有理由使用Python 2,则应该升级。;)

在Python 3中,如果仍然需要整数除法,则可以使用//运算符。这将为您提供与8/(-7)Python 2相同的答案。

这是关于此主题的Python增强建议:PEP 238-更改除法运算符



 类似资料:
  • 问题内容: 我在timeit上获得了非常令人惊讶的结果,有人可以告诉我我做错了什么吗?我正在使用Python 2.7。 这是文件speedtest_init.py的内容: 这些是speedtest.py的内容: 控制台输出为: 我认为默认情况下timeit()运行代码的1000000倍,因此我需要将时间除以1000000,但是令人惊讶的是Counter的速度比defaultdict()慢。 那是预

  • 我有一个关于小数的整数的有趣问题。

  • 谁能解释一下吗?

  • 问题内容: 我试图弄清楚如何正确使用Java的执行器。我意识到向提交任务有其自身的开销。但是,我惊讶地发现它是如此之高。 我的程序需要以尽可能低的延迟处理大量数据(股市数据)。大多数计算是相当简单的算术运算。 我想测试的东西很简单:“ ” 最简单的测试在一个简单的循环中运行此计算。第二个测试在匿名Runnable内部执行相同的计算(这应该用来衡量创建新对象的成本)。第三次测试将传递给。(这用于衡量

  • 问题内容: 长时间修改Python的任何人都被以下问题咬伤(或弄成碎片): Python新手希望此函数始终返回仅包含一个元素的列表[5]。结果是非常不同的,并且非常令人惊讶(对于新手而言): 我的一位经理曾经第一次遇到此功能,因此称其为“严重的设计缺陷”。我回答说,这种行为有一个基本的解释,如果您不了解内部原理,那确实是非常令人困惑和意外的。但是,我无法(对自己)回答以下问题:在函数定义而不是函数