java Integer是32位的问题怎么理解?

Integer.MAX_VALUE
1111111111111111111111111111111=31位
Integer.MIN_VALUE
-10000000000000000000000000000000=33位

我看最大和最小值差2位

假设Max值为:01111111 假设Min值为:11111111,有以下结论:

max:        min:
0 1111111    1 1111111    | 原码
0 1111111    1 0000000    | 补码
 
min + min:
0 0000000    | 补码
0 0000000    | 原码 = 0
 
max + max:
1 1111110    | 补码
1 0000010    | 原码 = -2
 
 
max + min:
1 1111111    | 补码
1 0000001    | 原码 = -1

除了Integer还有BigInteger可以用,
再看一篇有趣的文章 https://blog.csdn.net/qq_33611068/article/details/77369050