众所周知,modulo operation finds the remainder of division of one number by another。
我正在努力找出获得模数值的正确方法。
a mod b = c
如果a> = 0,则很容易找到c但是,如果a< 0,这让我很困惑。
有一天,我在讲师笔记中读到-75 mod 26 = 3。
然后,我在java中创建一个简单的程序来查找-75 mod 26的结果。程序编译并打印结果:-23。
那么,如果a<<< 0?
Belows是我尝试过的代码:
public class modulo {
public static void main(String [] args){
int divide = -75;
int val = divide % 26;
System.out.println(divide+" % 26 = "+ val);
}
}
答案 0 :(得分:0)
为什么你不能在分裂前从两者中获得绝对价值?
public class modulo {
public static void main(String [] args){
int divide = -75;
int val = Math.abs(divide) % Math.abs(26);
System.out.println(divide+" % 26 = "+ val);
}
}
...或者只是从结果中获得abs值(使用舍入)?
Math.round( result );