A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

short  b = 3 + 5;
float  f   = 5 + 5.5;
前者运行正常,后者却会提示损失精度,虽然自己有点理解,5.5默认为doule类型,所以类型提升后不能赋值给float类型的数据,但为什么前者就可以呢?

3 个回复

倒序浏览
因为3和5都在short范围内啊,如果是这样:short  b = 3, b = b + 5,就会损失精度,好好理解一下。
回复 使用道具 举报
改变 发表于 2015-7-7 00:42
因为3和5都在short范围内啊,如果是这样:short  b = 3, b = b + 5,就会损失精度,好好理解一下。 ...

如果int b=128+1呢
回复 使用道具 举报

肯定可以啊,在int范围内呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马