2

众所周知,模运算求一个数除以另一个数的余数

我正在努力找出获得模值的正确方法。

a mod b = c

如果 a >= 0,很容易找到 c。但是,如果 a < 0,我会感到困惑。

有一天,如果-75 mod 26 = 3,我在我的讲师笔记中读到。

然后,我在java中创建了一个简单的程序来查找-75 mod 26的结果。程序编译并打印结果:-23。

那么,如果 a < 0,找到 c 的正确方法是什么?

下面是我尝试过的代码:

public class modulo {
    public static void main(String [] args){
        int divide = -75;  

        int val = divide % 26; 

        System.out.println(divide+" % 26 = "+ val);

    }
}
4

1 回答 1

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);
    }
}

...或者只是从结果中获取绝对值(四舍五入)?

Math.round( result );
于 2014-04-01T12:51:49.523 回答