我想了解一些數據類型和轉換之間的區別。將long.MaxValue轉換爲int並將float.MaxValue轉換爲int有什麼區別?
public static void ExplicitTypeConversion2()
{
long longValue=long.MaxValue;
float floatValue = float.MaxValue;
int integerValue = (int) longValue;
int integerValue2 = (int)floatValue;
Console.WriteLine(integerValue);
Console.WriteLine(integerValue2);
}
當我運行的代碼塊,它輸出:
-1
-2147483648
我知道,如果你想分配給一個整數的值大於該整數可以保持,它返回最小值的整數(-2147483648)。
據我所知,long.MaxValue
比整數的最大值大得多,但是如果我把long.MaxValue
轉換成int
,則返回-1。
這兩個鑄件有什麼區別?我認爲第一個也假設返回-2147483648而不是-1。
我想知道的其他方式輪....'INT I =(int)的long.MaxValue'填充'i'用'0xFFFFFFFF'這是'-1',所以我很清楚。我想知道爲什麼'int i =(int)float.MaxValue'結束於'0x80000000'的int.MinValue。 –