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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

做练习时在一本书里看到判断,发现这样的题,float c1=-123;答案判断它是正确的,没有明白。求解释。

8 个回复

倒序浏览
-123当做int类型处理,而int类型是可以直接赋给float的(小类型可以直接赋给大类型),所以正确。
回复 使用道具 举报
刘基军 发表于 2012-3-6 12:31
-123当做int类型处理,而int类型是可以直接赋给float的(小类型可以直接赋给大类型),所以正确。 ...

那是否就是在未知变量可能为int型也可能为float型的时候定义为float型?
回复 使用道具 举报
施俊 发表于 2012-3-6 12:34
那是否就是在未知变量可能为int型也可能为float型的时候定义为float型?

恩,对的
回复 使用道具 举报
刘基军 发表于 2012-3-6 12:43
恩,对的

非常感谢。
回复 使用道具 举报
类型可以自动转的 ~
回复 使用道具 举报
int整型,float是浮点型,范围是自动从小到大转化的。
回复 使用道具 举报
小可转大,大转小会失去精度,两个大小不同的数据类型运算时,一定是小的转成大的在运算,-123是整形  所以能转换成float类型  

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
这是类型转换的问题,类型转换分为显式和隐式两种,整数型的默认的都是int ,浮点型默认的是double (float f= 3.15 ;//会报错  应这样float f= 3.15f);整数型可以隐式转换(自动类型转换)为浮点型,反过来就只能用显式(强制类型转换)会丢失精度

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马