一、隐式类型转换
隐式类型转换是指系统自动将取值范围小的数据类型转换为数据取值范围大的数据类型,它是由系统自动转换完成的。
二、强制类型转换
强制类型转换是指使用强制类型转换运算符,将一个变量或表达式转化成所需的类型。
1.浮点型与整型
浮点数->整数,舍弃浮点数的小数部分,保留整数部分。
整数->浮点数,数值不变,只将形式改为浮点形式,即小数点后补若干0。
2.单、双精度浮点型
C程序中的实型常量都是双精度浮点型常量。
float->double,只需在尾部加0延长为double型数据。
double->float,会造成数据精度丢失,有效位以外的数据将会进行四舍五入。
3.char型与int型
int->char,保留低8位,高位舍弃。
char->int,保持原值,只是数据的内部表示形式有所不同。
4.int型与long型
long->int,保留低16位,高位舍弃。
int->long,保持原值,只是数据的内部表示形式有所不同。
5.无符号与有符号
unsigned->signed,内部的存储方式不变,但外部值却可能改变。
signed->unsigned,内部的存储形式不变,但外部表示时总是无符号的。
网友评论