मैं कुछ डेटा प्रकारों और रूपांतरण के बीच अंतर को समझने की कोशिश कर रहा हूं।लंबे समय तक कास्टिंग के बीच क्या अंतर है। मैक्सवेल्यू int और कास्टिंग फ्लोट करने के लिए। मैक्स वैल्यू 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 देता है।
इन दोनों कास्टिंग में क्या अंतर है? मुझे लगता है कि पहला व्यक्ति भी -1 के बजाय -2147483648 लौटने का अनुमान लगाता है।
मैं दौर अन्य तरीके से सोच रहा हूँ .... 'int i = (int) long.MaxValue'' मैं 'घ' 0xFFFFFFFF' से भर जाता है जो '-1' है, इसलिए यह मुझे स्पष्ट है। मुझे आश्चर्य है कि क्यों 'int i = (int) float.MaxValue' int.MinValue' में समाप्त होता है जो '0x80000000' है। –