考虑下面的java代码。
Integer value = Integer.MIN_VALUE;
System.out.println(value);
value = -value;
System.out.println(value);
输出
-2147483648
-2147483648
value 的负值如何产生Integer.MIN_VALUE
相同的值?
但是结果不能是2147483648
因为Java中Integer的最大值是2147483647
.
但想知道为什么-2147483648
?内部发生了什么样的按位操作?