该问题是由于整数溢出引起的。
在32位二进制补码算法中:
i确实确实开始具有2的幂,但是一旦您达到2 30,就会开始出现溢出行为:
2 30 + 2 30 = -2 31
-2 31 + -2 31 = 0
…在
int算术上,因为它本质上是算术mod 2 ^ 32。

该问题是由于整数溢出引起的。
在32位二进制补码算法中:
i确实确实开始具有2的幂,但是一旦您达到2 30,就会开始出现溢出行为:
2 30 + 2 30 = -2 31
-2 31 + -2 31 = 0
…在
int算术上,因为它本质上是算术mod 2 ^ 32。