चूँकि आप किसी भी प्रत्यय का उपयोग नहीं करते हैं, शाब्दिक 13
और 4
पूर्णांक के रूप में व्याख्या की जाती है:
गाइड :
शाब्दिक कोई प्रत्यय है, यह इन प्रकार जिसमें अपने मूल्य दर्शाया जा सकता है की पहली है: int
, uint
, long
, ulong
।
इस प्रकार, चूंकि आप 13
पूर्णांक घोषित करते हैं , पूर्णांक विभाजन किया जाएगा:
गाइड :
प्रपत्र एक्स / वाई के संचालन के लिए, एक विशेष ऑपरेटर कार्यान्वयन का चयन करने के लिए बाइनरी ऑपरेटर ओवरलोड रिज़ॉल्यूशन लागू किया जाता है। ऑपरेंड चयनित ऑपरेटर के पैरामीटर प्रकारों में परिवर्तित हो जाते हैं, और परिणाम का प्रकार ऑपरेटर का रिटर्न प्रकार होता है।
पूर्वनिर्धारित डिवीजन ऑपरेटरों को नीचे सूचीबद्ध किया गया है। ऑपरेटर सभी एक्स और वाई के भागफल की गणना करते हैं।
पूर्णांक विभाजन:
int operator /(int x, int y);
uint operator /(uint x, uint y);
long operator /(long x, long y);
ulong operator /(ulong x, ulong y);
और इसलिए नीचे चक्कर लगाना होता है:
विभाजन परिणाम को शून्य की ओर ले जाता है, और परिणाम का निरपेक्ष मान सबसे बड़ा संभव पूर्णांक होता है जो दो ऑपरेंड के भागफल के निरपेक्ष मान से कम होता है। परिणाम शून्य या सकारात्मक होता है जब दो ऑपरेंड के समान संकेत और शून्य या नकारात्मक होते हैं जब दोनों ऑपरेंड के विपरीत संकेत होते हैं।
यदि आप निम्न कार्य करते हैं:
int x = 13f / 4f;
आप एक संकलक त्रुटि प्राप्त करेंगे, चूंकि एक फ़्लोटिंग-पॉइंट डिवीजन (के /
ऑपरेटर)13f
) एक फ्लोट में परिणाम देता है, जिसे अंतर्निहित रूप से इंट करने के लिए नहीं डाला जा सकता है।
यदि आप चाहते हैं कि विभाजन एक फ़्लोटिंग-पॉइंट डिवीज़न हो, तो आपको परिणाम को फ़्लोट करना होगा:
float x = 13 / 4;
ध्यान दें कि आप अभी भी पूर्णांकों को विभाजित करेंगे, जो स्पष्ट रूप से फ्लोट करने के लिए डाली जाएगी: परिणाम होगा 3.0
। f
प्रत्यय ( 13f
, 4f
) का उपयोग करते हुए स्पष्ट रूप से ऑपरेंड को फ्लोट के रूप में घोषित करने के लिए ।
integer
विभाजन नहींfloating point
विभाजन है।