2

ご存知のように、モジュロ演算は、ある数値を別の数値で割った余りを求めます。

モジュロの値を取得する正しい方法を見つけるのに苦労しています。

a mod b = c

a >= 0 の場合は c を見つけるのは簡単ですが、a < 0 の場合は混乱します。

ある日、-75 mod 26 = 3 の場合の講義ノートを読みました。

次に、Java で単純なプログラムを作成して、-75 mod 26 の結果を見つけます。プログラムはコンパイルされ、result: -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);
    }
}

...または単に結果から abs 値を取得します (丸めを使用)?

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