为什么加到最后会出现负值?
Java code
public class No2 {
public static void main(String[] args){
for(int i=1;true;){
i=i+123456789;
System.out.println(i);
}
}
}
为什么加到最后会出现负值?
------解决方案--------------------
楼上各位都不厚道,对小学妹要好点.我来说说吧.
假设变量的数据类型占用n个字节,数值超过其表示范围,直接就截取数值的最后n个字节赋值给变量.
(其实是前n个字节,如果不知道我说什么,就姑且认为是最后的n个字节)
对于int类型 int a = b; 相当于 int a = b & 0xFFFFFFFF;
对应的,要是 byte a = b就相当于 bye a = b & 0xff;