public class Test {
public static void main(String[] args) {
int integer = 2147483647 + 2;
System.out.println(integer);
}
}
请问为什么整数溢出后输出结果是-2147483647?
public class Test {
public static void main(String[] args) {
int integer = 2147483647 + 2;
System.out.println(integer);
}
}
请问为什么整数溢出后输出结果是-2147483647?
你还可以用时钟的方式来理解,假设一个时钟上有如下刻度
-2147483648 --2147483647 -2147483646 -2147483645 ... -3 -2 -1 0 1 2 3 4 ... 2147483645 2147483646 2147483647 (后面接上 -2147483648,转一圈回来)
把这些数字构成一个圆环
加法就是往顺时针拨,减法就是往逆时针拨。
你从2147483647 加2,就是往后拨2格,因为是一个圆环,所以是--2147483647