Java 中 int 的取值范围是:-2^31 ~ 2^31-1
大致想一下,int 占 4字节,也就是 32 位,int 是有符号的,最高位为符号位。所以剩下31个位置。
那么我们大胆猜测一下,最大正数应该就是2^31-1。

举个栗子~
如果是3bit的,其中最高位为符号位,看看它的范围是怎样?
000
001
010
011 最大为 3 = 2^(3-1)-1 和上面的式子是符合的

100
101
110
111 最小为 -3 按照上面规律应该是 -4啊!怎么是-3???

嘻嘻,这就说明我算错了,计算机底层可不是这么搞的嗷。计算机底层存的是补码。