在C和C++中,根據Shafik's post,INT_MIN % -1
的行爲似乎是未定義/平臺相關的。Java的%運算符是否溢出?
在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
?
Java本質上是平臺獨立的,所以我猜(沒選中)答案是YES – shlomi33 2014-09-10 12:28:38