python np.mod() 取模运算

python np.mod() 取模运算

取模运算并非算术运算中的取余运算%,看代码发现使用取余计算的结果一直都对不上,为了打破这个误区,手动计算探索其内部原因呀~

python np.mod()的取模计算公式
c = np.mod(a, b)

计算如下:
c = a % b = a - (a // b) * b

# 其中 a//b 为 a/b 向下取整,注意是向下取整(所以又称floor除、地板除),
# 并不是直接取整,int()才是直接取整
人的惯性思维向下取整不会把符号带上,对于负数的向下取整需要记住带上符号计算。
比如: 5 // -2 = floor(-(5 / 2)) = floor(-2.5) = -3

在这里插入图片描述

由上面图大概都清楚了取模运算的机制了吧,其实可以总结下:
对于 np.mod(x1, x2) 最后的结果符号取决于x2的符号
而若是 x1 > 0 && x2 > 0 的情况下其实可以直接使用数学的取余 % 运算计算结果

感觉有用并且喜欢的点个赞吧!!!

猜你喜欢

转载自blog.csdn.net/ganbelieve/article/details/125604620