知识点4:类型转化

类型转化

当不同数据进行混合运算时,需要转化为同一种数据类型后,才可以进行运算。

自动类型转化

自动类型转化由编译器自动完成,遵循以下规则:
1,向数据长度增加的方向转化,以保证数据的精度不降低
2,char、short类型在进行类型转化时都先转化为int型

short i; int j; char k; 
printf("%d\n", sizeof(i));//2
printf("%d\n", sizeof(j));//4
printf("%d\n", sizeof(i+j));//4
printf("%d\n", sizeof(k+j));//4
printf("%d\n", sizeof(i+k));//4

3,在赋值运算中,无论‘=’两侧数据类型高低,都将左值的数据类型转化为右值的数据类型。如果右侧数据类型的精度比左侧高,也要将其截短或舍入,使之与左侧的数据类型相同。
如:
将实型数据赋给整型变量:舍弃小数部分。
将整型数据赋给实型变量:数值大小不发生改变,但以浮点数形式存储到变量中。
将字符型数据赋给整型变量:由于字符类型仅有一个字节,因此将字符数据的8位放到整型变量的低8位中。若字符变量的最高位为0,则整型变量的高8位均为0;若字符变量的最高位为1,则整型变量的高8位均为1。
将整型数据赋给字符型变量:只将其低8位放到字符变量中。

强制类型转化

x = (x’s type_name) y

猜你喜欢

转载自blog.csdn.net/Shao_yihao/article/details/112570003
今日推荐