C++ 自动类型转换

自动类型转换规则麻烦总结一下、... 自动类型转换规则 麻烦总结一下、 展开
 我来答
野文菜A
推荐于2016-08-13 · TA获得超过829个赞
知道小有建树答主
回答量:645
采纳率:100%
帮助的人:497万
展开全部
1.若参与运算量的类型不同,则先转换成同一类型,然后进行运算。

2.转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。

3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。

4.char型和short型参与运算时,必须先转换成int型。

5.在赋值运算中,赋值号两边量的数据类型不同时, 赋值号右边量的类型将转换为左边量的类型。 如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度, 丢失的部分按四舍五入向前舍入。

当参加算术或比较运算的两个操作数类型不统一时,将简单类型向复杂类型转换,
char(short) -> int(long) -> float -> double
安东尼1dc
2014-07-29 · 超过50用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:123万
展开全部
因为0.5即不是int型又不是float型而是double型,这时系统无法决断是采用强制转换成int还是float导致编译错误
请采纳。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式