1. 程式人生 > >Integer.MIN_VALUE和Integer.MAX_VALUE

Integer.MIN_VALUE和Integer.MAX_VALUE

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(與原來的結果一樣)