猿问

关于循环的问题

int x = 800000000;

while (x>0)

x++;

System.out.println(x);

为什么结果是-2147483648



陈药
浏览 1303回答 3
3回答

深白

加到int 表示的最大正整数后x依然大于0,继续执行x++,就溢出了,变成最小值了,看看补码的知识吧。

chasonZhang

int的最大值是2147483647 = 1111111  11111111  11111111 111111111111111  11111111  11111111 11111111+1=10000000  00000000  00000000 00000000=-2147483648注:最左边的一位代表符号
随时随地看视频慕课网APP

相关分类

Java
我要回答