不同类型的数据运算时,先转换成同一类型再运算
转换原则:确保计算值的精度,转换后尽量不丢失有效数字
1.字节少的向字节多的转换
char,unsigned char,short,unsigned short,bool --> int
cout<<('a'+5)<<endl;//'a'转换为int再加5,结果为整型
2.精度低向精度高的转换
cout<<(5+3.5)<<endl;//5转换为double型再相加,结果为double
3.有符号向无符号转换
int–>unsigned int
unsigned int ui=32678;
cout<<(5+ui)<<endl;//5转换成unsigned int
赋值转换
右边数据类型转换成左边的
double a=8.12;
int k;
k=a;//a转换成int,舍去小数部分,k为8
在有关系,逻辑运算时,非0转true,0转false
强制转换
(<类型>)变量或常量
<类型>(<表达式>)
int n=3;double a,b;
a=(double)n/2;//强制将n的值转换为double
n=int(a/b);//强制将a/b的值转换成int