自动转换
自动转换即在运算时候,为了保证准确性,系统自行进行的转换
按照以下顺序char,short→int→unsigned int→ long int→ double
float→double
赋值转换
int→char
只保留低八位数据,其他的截掉
char→int
低八位赋值低八位。高二十四位,无符号数据默认补
若是有符号位数据则1
无论补0或者是补1都由原本的数据类型自己来决定,不由转换后的数据类型决定
float→int
直接赋值整数,小数部分丢掉
float→double
数据不变,改变数据的存储方式
double→float
数据会尽量不变,存储方式改变,如果数据过大,则报溢出错误
double→int
截取十进制七位
强制类型转换
强制类型转换符:()
使用方法(类型)A
(double)a 将a转换成double类型
(int)(x+y)将x+y的值转换成整型
(float)(3%2)将3%2的值转换成float型
强制类型转换是临时的,只在运算中起作用,其本身的类型是不变的
如float f,x;
f=3.14159;
x=(int)f;
经过运算后,(int)f返回的整型值重新转换为浮点数,f本身的值不变