將一個浮點數(shù)或任何其他類型的值賦給 unsigned char 類型的變量時,C語言進行類型轉換的具體過程
C語言中,
unsignef char Temp_Val;
Temp_Val = (unsignef char)rd_temperature();
若rd_temperature()函數(shù)返回51.7,則Temp_Val 等于多少?
在C語言中,unsigned char 類型通常用于存儲0到255之間的無符號整數(shù)。當你將一個浮點數(shù)或任何其他類型的值賦給 unsigned char 類型的變量時,C語言會進行類型轉換,具體過程如下:
- 首先會把這個值轉換成
int類型(如果它不是int類型的話)。 - 然后將這個
int值的范圍限制在unsigned char的范圍內,即0到255。
在您的例子中,rd_temperature() 函數(shù)返回了一個浮點數(shù)51.7。當這個值被強制轉換為 unsigned char 類型時,會發(fā)生以下轉換:
- 首先去掉小數(shù)部分,只保留整數(shù)部分,即51。
- 然后將整數(shù)51直接賦值給
unsigned char類型的變量Temp_Val。
作者QQ4577105

浙公網安備 33010602011771號