【发布时间】:2018-10-17 03:35:17
【问题描述】:
虽然我承认我对负数的模运算有点粗略,但我确实知道
-2 mod 50 = 48
在几乎所有在线模数计算器以及 LibreOffice Calc 中:
=MOD(-2,50)
还有 Python:
-2 % 50
这个数字 (48) 方便地是我在 MySQL 过程中编写的函数所需的答案。但是,在 MySQL 中:
SELECT MOD(-2,50)
结果给我-2。
这是什么原因,我如何得到我在 MySQL 中寻找的结果?
为了后代:
截至 2018 年,以下语言提供了与 -2 % 50 不同的结果:
48
- Python
- R
- 谷歌计算器
- 谷歌表格
- LibreOffice 计算
- Ubuntu 计算器
-2
- Javascript
- MySQL
- 微软计算器
- PHP
正如 cmets 中所指出的,更详尽的列表如下:https://en.wikipedia.org/wiki/Modulo_operation
【问题讨论】:
-
相关问题here.
-
Windows 计算器计算
-2 % 50 = -2。所以,我无法重现与 MySQL 不一致的东西。 -
谷歌计算器也等于 48:google.com/search?q=-2+%25+50
-
PHP 也表示 -2 3v4l.org/8scNn
-
而且... R 给出 48。战争结束了。国王万岁。