天天看點

a+1大于a嗎

問題:a是int類型的資料,那麼a+1大于a嗎?

很多人的回答都是:大于

其實真正的回答是——不一定

為什麼這麼說?

因為假如a=Integer.MAX_VALUE,a再加1,結果是Integer.MIN_VALUE

比如:System.out.println((Integer.MAX_VALUE+1) == Integer.MIN_VALUE);

輸出結果是true

原理:

int 的取值範圍是 -2147483648 ——2147483647

2147483647 的二進制數是01111111 11111111 11111111 11111111

1111111 11111111 11111111 11111111 + 1 =10000000 00000000 00000000 00000000

10000000 00000000 00000000 00000000就是-2147483648