问题: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