Integer.MIN_VALUE,即-2147483648,二進制位如下:
1000 0000 0000 0000 0000 0000 0000 0000
在計算機的運算中,“-”(前綴)運算表示各二制位取反再加1,也就是說 b = -a 在計算機內部是 b = ~a + 1 這樣處理的,所以上面的位就變成了:
1000 0000 0000 0000 0000 0000 0000 0000 Integer.MIN_VALUE
取反 0111 1111 1111 1111 1111 1111 1111 1111 (取反之后變成了Integer.MAX_VALUE)
加1 1000 0000 0000 0000 0000 0000 0000 0000 -Integer.MIN_VALUE(與原來的結果一樣)