+ -
当前位置:首页 → 问答吧 → 基本数据类型转换

基本数据类型转换

时间:2011-12-04

来源:互联网

long a=65535*65535 //这个东西超出了允许表示的范围
------------------------------------------------------
long a=65535*65535l;
long b=2;
b+=a;
//这时候输出b的时候却可以准确输出
----------------------------------------------------------
第一个那个报错是不是因为65535*65535这个数被默认为int而无法表示
这么说的话,long a=65535*65535l;这句的执行过程应该是在编译器中先生成一个值为65535*65535的long型变量然后赋值给a
而第一个报错就是在编译器生成值为65535*65535的int型变量时出错了

作者: qq7489451   发布时间: 2011-12-04

鄙视在数字后面写小写L的

作者: ticmy   发布时间: 2011-12-04

没整明白 自问自答么

作者: zqfddqr   发布时间: 2011-12-04

int和int的操作结果是int

int和long的操作结果是long

作者: ticmy   发布时间: 2011-12-04

我想LZ的推测是正确的,由于你数字后面没有加L,被当成了整数

作者: zhongxianyao   发布时间: 2011-12-04