分类: 嵌入式
2014-06-11 17:27:31
自动转换 自动转换发生同数据类型
量混合运算时
由编译系统自动完成
自动转换遵循
下规则: 1.若参与运算量
类型
同
则先转换成同
类型
进行运算
2.转换按数据长度增加
方向进行
保证精度
降低
int型和long型运算时
先把int量转成long型
再进行运算
3.所有
浮点运算都
双精度进行
即使仅含float单精度量运算
表达式
也要先转换成double型
再作运算
4.char型和short型参与运算时
必须先转换成int型
5.
赋值运算
赋值号两边量
数据类型
同时
赋值号右边量
类型
转换
左边量
类型
![]()
右边量
数据类型长度左边长时
丢失
部分数据
样会降低精度
丢失
部分按四舍五入向前舍入
强制类型转换 强制类型转换
通过类型转换运算来实现
其
般形式
: (类型说明符) (表达式) 其功能
把表达式
运算结
强制转换成类型说明符所表示
类型
例: (float) a 把a转换
实型(int)(x+y) 把x+y
结
转换
整型
使用
强制转换时应注意下问题: 1.类型说明符和表达式都必须加括号(单变量加括号)把(int)(x+y)写成(int)x+y则成了把x转换成int型之再与y相加了 2.无论强制转换或自动转换都只了本次运算需要而对变量?数据长度进行临时性转换而改变数据说明时对该变量定义类型 具体下: char short->int->usigned->long->double float->double