PHP模怪癖
我对php的模运算一定了解得不够。我得到了一个奇怪的结果PHP模怪癖,php,calculator,modulo,Php,Calculator,Modulo,我对php的模运算一定了解得不够。我得到了一个奇怪的结果 echo (-38 % 26); results in -12 这似乎是我的正确答案。谷歌计算器返回14。这是我正在做的练习的正确答案 怎么回事 摘自PHP手册: 模运算符%的结果与被除数具有相同的符号 -也就是说,$a%$b的结果将具有与$a相同的符号 不同的语言定义余数的不同符号(Python将使用除数,而PHP使用除数)。您可以在上面阅读更多有关它的信息。您需要使用 echo ((-38 + 26) % 26); 您可以按照自己
echo (-38 % 26); results in -12
这似乎是我的正确答案。谷歌计算器返回14。这是我正在做的练习的正确答案
怎么回事
摘自PHP手册: 模运算符
%
的结果与被除数具有相同的符号
-也就是说,$a%$b
的结果将具有与$a
相同的符号
不同的语言定义余数的不同符号(Python将使用除数,而PHP使用除数)。您可以在上面阅读更多有关它的信息。您需要使用
echo ((-38 + 26) % 26);
您可以按照自己的意愿创建一个与正$a和负$a一起工作的函数:
function modulo($a, $b) { return ($a + $b) % $b; }
不幸的是,我对这个问题的了解还不够多,无法回答这个问题,但这在编程中是很常见的。模想要留下一个正余数,使用负数是没有意义的。Wolfram Alpha也报告了答案为14。因为模需要正的结果,所以-12+26是14,但我不确定它是否应该是正数tanks@kmlnvm,这很有帮助。我更关心的是数值,而不是符号。我认为@kmlnvm最接近于解释。