相关疑难解决方法(0)

Python 选择将整数除法舍入到负无穷大背后的数学原因是什么?

我知道Python//向负无穷大舍入,而在C++中则/是截断,向0舍入。

到目前为止,这是我所知道的:

               |remainder|
-12 / 10  = -1,   - 2      // C++
-12 // 10 = -2,   + 8      # Python

12 / -10  = -1,     2      // C++
12 // -10 = -2,   - 8      # Python

12 / 10  = 1,      2       // Both
12 // 10 = 1,      2

-12 / -10 = 1,    - 2      // Both
          = 2,    + 8

C++:
1. m%(-n) == m%n
2. -m%n == -(m%n)
3. (m/n)*n …
Run Code Online (Sandbox Code Playgroud)

c++ python rounding integer-division python-3.x

88
推荐指数
6
解决办法
8440
查看次数

Python中负数的模运算

我在Python中发现了一些关于负数的奇怪行为:

>>> -5 % 4
3
Run Code Online (Sandbox Code Playgroud)

谁能解释一下发生了什么?

python modulo negative-number

64
推荐指数
6
解决办法
5万
查看次数

模数为Python中的负红利

正在查看其他答案,我仍然不理解python中负数的模数

例如df的回答

x == (x/y)*y + (x%y)
Run Code Online (Sandbox Code Playgroud)

所以有意义的是(-2)%5 = -2 - (-2/5)*5 = 3

这不是(-2 - (-2/5)*5)= 0还是我只是疯了? 具有负值的模数运算 - 奇怪的是什么?

python中的这个负数模数相同 他从哪里得到-2?

最后,如果该标志取决于股息,为什么负股息与正面股票的产出不相同?

例如,输出

print([8%5,-8%5,4%5,-4%5])
Run Code Online (Sandbox Code Playgroud)

[3, 2, 4, 1]
Run Code Online (Sandbox Code Playgroud)

python modulo

6
推荐指数
2
解决办法
5910
查看次数