python - 模数如何处理也小于除数的负股息?
问题描述
需要明确的是,我理解模数在以下 3 个场景中的行为。
我明白为什么 16 % 3 = 1。
我明白为什么 -16 % 3 = 2。(这可能很棘手,我意识到)
我明白为什么 3 % 16 = 3。
但我不明白为什么 -3 % 16 = 13。我也不明白为什么一些在线资源(和一些编程语言)给出的答案是 -3。我是初学者,所以实用的答案对我最有用。谢谢!
解决方案
在python中模数会使用这个方法来得到结果
mod(a,n) = a - {n * Floor(a/n)}
所以如果它是 -3 % 16 它将是这样的:
mod(-3,16) = -3 - {16 * Floor(-3/16)}
= -3 - {16 * Floor(-0.1875)}
= -3 - {16 * -1}
= -3 - (-16)
= 13
请在这里查看一个很好的解释
推荐阅读
- c++ - 将图像从支持的 X11 c++ 程序传输到 Qt 应用程序以显示该图像
- python - Django CMS:如何避免在设置中设置 SITE_ID?
- sql - sql developer .Erreur d'E/S:从读取调用中得到减一
- c# - 在安装过程中使用 InstallUtil.exe 命令安装 Windows 服务
- django - 从角度提交时 /media/C:/fakepath/example.png 的 SuspiciousFileOperation
- apexcharts - 我可以在 apexcharts 的缩放回调中使用 this 关键字吗?
- antlr4 - 无法创建令牌的可选前缀
- delphi - EdsSaveImage 抛出 EDS_ERR_INVALID_HANDLE
- javascript - 赛普拉斯:使用另一个元素作为参考从表中获取一个元素
- reporting-services - 如何将单个 @parameter(n) 值传递给 SSRS 中的查询