Java 模未显示正确值
-46模7是3,但我得到-4。为什么?Java 模未显示正确值,java,modulo,Java,Modulo,-46模7是3,但我得到-4。为什么? int sa=-46; int p=7; System.out.println(sa);//-46 sa=sa%p; System.out.println(sa);//-4 编辑: 我就是这样解决的 (sa)%p+p)%p Java定义%(余数运算符) Java编程语言提供了执行以下操作的运算符 加法、减法、乘法和除法。这是一个好消息 你可能会在basic中被他们的对手认出 数学。唯一对您来说可能是新的符号是“%”,它是 将一个操作数除以另一个操作数,并
int sa=-46;
int p=7;
System.out.println(sa);//-46
sa=sa%p;
System.out.println(sa);//-4
编辑:
我就是这样解决的
(sa)%p+p)%p Java定义%(余数运算符)
Java编程语言提供了执行以下操作的运算符
加法、减法、乘法和除法。这是一个好消息
你可能会在basic中被他们的对手认出
数学。唯一对您来说可能是新的符号是“%”,它是
将一个操作数除以另一个操作数,并返回余数作为其整数
结果
(见参考资料来源)
如果您想要创建一个模函数,当您请求模n时,它只返回[0,n]范围内的数字,那么您必须编写它(简单)。-46 mod 7实际上是-4的可能副本