最近看到教材上这样写:
int a=46.
我想问一下如何理解该用法,是不是将float型隐式转换成int型?
同时呢,这种用法有相应的应用么?
这个是把一个double的值隐式转为int,没见过什么特别需要记住的应用,它就是用来做转换,什么时候你需要了就用下
这种转换应用不多...反而有点不简化。如:
int i
...
i = i + 9.8
按照隐式处理方式,在处理 i=i+9.8 时,首先 i 转换为 double 型,然后进行相加,结果为 double 型,再将 double 型转换为整型赋给 i。
int i
...
i = i + (int)9.8
这时直接将9.8转换成整型,然后与 i 相加,再把结果赋给 i。这样可把二次转换简化为一次转换。
数据类型转换包括隐式类型转换和显式(强制)类型转换。隐式类型转换就是在编译时由编译程序按照一定规则自动完成,而不需人为干预。因此,在表达式中如果有不同类型的数据参与同一运算时,编译器就在编译时自动按照规定的规则将其转换为相同的数据类型。具体隐式转换规则还是需要看标准文档。btw,float么,好像是double...
参考:http://www.nowamagic.net/librarys/ved...