Php 什么是-1%4的正确答案?

Php 什么是-1%4的正确答案?,php,ruby,math,Php,Ruby,Math,我正在为一个项目使用PHP,我希望-1%4返回3。然而,最终的结果是PHP中的-1,我不知道为什么: php > echo -1 % 4; -1 我签入了Ruby IRB,结果是3: irb(main):001:0> puts -1 % 4 3 因为它是根据划分来定义的,因此: a%b == a - (a/b)*b 对于结果为负的分区,有两种可能的定义;要么你朝着零转,要么你朝着负无穷大转。不同的编程语言做出了不同的选择 有关更多信息,请参阅。,因为它是按除法定义的,例如: a

我正在为一个项目使用PHP,我希望
-1%4
返回
3
。然而,最终的结果是PHP中的
-1
,我不知道为什么:

php > echo -1 % 4;
-1
我签入了Ruby IRB,结果是
3

irb(main):001:0> puts -1 % 4
3

因为它是根据划分来定义的,因此:

a%b == a - (a/b)*b
对于结果为负的分区,有两种可能的定义;要么你朝着零转,要么你朝着负无穷大转。不同的编程语言做出了不同的选择


有关更多信息,请参阅。

,因为它是按除法定义的,例如:

a%b == a - (a/b)*b
对于结果为负的分区,有两种可能的定义;要么你朝着零转,要么你朝着负无穷大转。不同的编程语言做出了不同的选择


有关更多信息,请参阅。

在这两种特定语言中,当处理涉及负操作数的整数除法时,PHP将结果舍入为零,而Ruby将舍入为-无穷大


在PHP中,来自:

模运算符
%
的结果与被除数具有相同的符号

在Ruby中,来自:

商被四舍五入到-无穷大


在这两种特定语言中,当处理涉及负操作数的整数除法时,PHP将结果舍入为零,而Ruby将舍入为-无穷大


在PHP中,来自:

模运算符
%
的结果与被除数具有相同的符号

在Ruby中,来自:

商被四舍五入到-无穷大


%表示
-1模(4)
及其等于-1英寸math@safarov:实际上,
%
通常被定义为余数运算符,它的数学定义不太明确。@safarov“in math”是一个宽泛的语句。如果处理的是Z_4,-1和3是同一个object.FWIW,在Ruby
-1中。余数(4)
返回-1。%n表示
-1 mod(4)
,在math@safarov:实际上,
%
通常被定义为余数运算符,它的数学定义不太明确。@safarov“in math”是一个宽泛的语句。如果你处理的是Z_4,-1和3是同一个对象。FWIW,在Ruby中
-1。余数(4)
返回-1。我很可能读错了,但是这个计算不会给出
a-a
从而创建0吗?@RobinCastlin:不,因为这是用整数算法执行的。我很可能读错了,但是这种计算不会给出-a,从而产生0吗?@RobinCastlin:不会,因为这是在整数算术中执行的。