一、隱式類型轉換
隱式類型轉換是指系統自動將取值范圍小的數據類型轉換為數據取值范圍大的數據類型,它是由系統自動轉換完成的。
二、強制類型轉換
強制類型轉換是指使用強制類型轉換運算符,將一個變量或表達式轉化成所需的類型。
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,內部的存儲形式不變,但外部表示時總是無符號的。