50,547
社区成员
发帖
与我相关
我的任务
分享
long e=1000000000*2*10L; //L放后面,先计算1000000000*2默认为int来存储,此时结果为20亿,没有超过int范围,所以结果正常
long g=1000000000l*3*10 //L放前面,说明乘法计算开始就是long的,
long f=1000000000*3*10L; //L放后面,前面表达式默认按照int来算的,结果为30亿,超过int,溢出了,所以最终结果为也是不正确的,因为前面的溢出了
另外,提一点,有符号整数,一般溢出,最高位就被很可能就变成1了,所以才会出现负数