3

C および C++ では、 Shafik の投稿INT_MIN % -1によると、 の動作は未定義 / プラットフォームに依存するようです。

Java では、% 演算子がオーバーフローすることはありますか?

次のコードを検討してください。

public class Test {
    public static void main(String[] args) {
        // setup variables:
        byte b = Byte.MIN_VALUE % (-1);
        short s = Short.MIN_VALUE % (-1);
        int i = Integer.MIN_VALUE % (-1);
        long l = Long.MIN_VALUE % (-1);

        // my machine prints "0" for all:
        System.out.println(b);
        System.out.println(s);
        System.out.println(i);
        System.out.println(l);
    }
}

上記の結果がプラットフォームに依存しないという保証はあり0ますか?

4

1 に答える 1