-46 modulo 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;
答案 0 :(得分:1)
%(余数运算符)的Java定义
Java编程语言提供了执行的操作符 加法,减法,乘法和除法。有一个好的 你有机会认识他们基本的同行 数学。对你来说可能看起来很新的唯一符号是“%”,即 将一个操作数除以另一个操作数并将余数作为其返回 结果
(参见参考资料来源here)
如果你想创建一个模数函数,当你要求模数n时,只返回[0,n]范围内的数字,你必须写它(简单)。