问题标签 [floor-division]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
16 回答
632259 浏览

python - '/' 和 '//' 用于除法时有什么区别?

使用一个比另一个有好处吗?在 Python 2 中,它们似乎都返回相同的结果:

0 投票
3 回答
35540 浏览

python - Python中的两个正斜杠

我从基数排序中遇到了这个代码示例:

Python中的作用是什么//

0 投票
2 回答
350 浏览

python - python 3楼除法并不总是导致int

在 python3 中使用地板除法时(也可能在 python2 中使用import __future__):

输出是预期的整数。但是一旦一个操作数是一个浮点数,你就会得到一个浮点数

我想这是故意的,但实际上我不明白,为什么它应该是这样的。作为始终产生整数的操作的结果,使用先前未确定的数据类型的设计概念是什么?

一个真正广泛的搜索给了我最好的(来自PEP 238

楼层划分的语义

楼层划分将在所有 Python 数字类型中实现,并将具有以下语义

除了结果类型将是在操作之前将 a 和 b 强制转换为的通用类型。

具体来说:

In particular:

But this still doesn't explain WHY the behavior is implemented like this.

0 投票
3 回答
3502 浏览

c - 我可以依靠 C 中的 % (模)运算符来处理负数吗?

使用 GCC:

输出:

我可以跨平台依赖这种行为吗?我应该明确定义 MODREM宏以确保这不会被改变吗?

0 投票
2 回答
1884 浏览

c++ - 四舍五入而不是截断的除法

我需要将除以某个正常数的实数值与最接近的较低整数对齐,而不管它们的符号如何。示例是(这里的反斜杠代表我想要的运算符)

是否有一个简短的操作员可以做到这一点?通常的“斜线”(“/”)运算符在 C++ 中向零舍入(前段时间已成为标准)(例如 -52.6 / 2 = -26)。

0 投票
3 回答
1650 浏览

python - Python 中的“变量 //= 值”语法是什么意思?

我遇到了d //= 2d 是变量的代码语法。这不是任何循环的一部分,我不太明白这个表达式。
有人可以启发我吗?

0 投票
3 回答
1300 浏览

python - Python 3.6:复数的地板除法

我需要对一个复数进行地板除法,但似乎在 Python 3.x 中删除了复数的地板除法。

有什么解决方法吗?任何想法,将不胜感激。

例如。

0 投票
4 回答
3416 浏览

c - C / C ++中带符号整数除法的快速下限

在 C 中,可以进行地板划分,例如:

但这似乎可以简化。

在 C 中有没有更有效的方法来做到这一点?


请注意,这几乎与这个问题相反:C/C++ 中整数除法的快速上限

0 投票
1 回答
1105 浏览

python - python中除法的奇怪行为

我正在尝试在hackerrank中解决这个问题。在某些时候,我必须检查一个数字是否除以 n(给定输入)。

除了一个测试用例(不是问题)之外,此代码运行良好:

现在您可以看到,我仅在 i 是 n 的因数时才对数字进行除法。例如,如果数字是 i = 2 和 n = 4,则 n / 2 和 n // 2 没有任何区别。

但是当我使用下面的代码时,所有测试用例都失败了:

这不是第一次。即使是这个问题,我也面临同样的问题。对于这个问题,我只需要除以 2,所以我使用右移运算符来摆脱这个。但是在这里我不能做任何事情,因为对换档帮不了我。

为什么会这样?如果数字很小,我看不出任何区别,但随着数字变大,它的行为会有所不同。

在 / 失败时使用 // 甚至都不直观。这是什么原因?

0 投票
3 回答
270 浏览

python-3.x - 地板除法运算符应用于 Python 中的列表

结果示例:

我已经运行了这个功能,它工作正常。一开始很难理解结果,但最终我明白了!

但是,我不明白为什么只有第一个结果像预期的那样。我的意思是结果是列表中间两个数字的平均值。

我希望你明白我是在自学,有时这并不容易。