如何对%中的负数进行VF处理
国防部(10,-3) = -2 国防部(-10,3)=2 模式(-10,-3) = -1
为什么?
发布于 2013-03-14 14:57:40
它是一个常规模块:
mod函数被定义为一个数超过除数的最大整数倍数(不大于该数)的数量。
你可以这样想:
10 % -3
小于-3的10的最大倍数是-2。
所以10 % -3是-2.
-10 % 3
现在,为什么-10 % 3是2
考虑这个问题的最简单的方法是在负数中加上一个2的倍数,这样这个数字就变成正数。
-10 + (4*3) = 2 so -10 % 3 = (-10 + 12) % 3 = 2 % 3 =3
发布于 2013-03-14 20:57:25
下面是我们在“黑客视觉FoxPro指南”(Hacker‘said to Visual FoxPro)中提到的内容:
在处理正数时,MOD()和%非常简单,但当其中一个或两个数字为负数时,它们就会变得有趣。理解结果的关键是以下等式: 国防部(x,y) =x- (y *楼层(x/y)) 由于数学模运算不是为负数定义的,所以很高兴看到FoxPro定义在数学上是一致的。然而,它们可能与您最初预期的不同,因此您可能需要检查是否存在负面因素或红利。 一个小测试(和手册)告诉我们,正除数给出正结果,负除数给负结果。
https://stackoverflow.com/questions/15412499
复制相似问题