के बीच अंतर सी ++ में 0 और 0.0 के बीच कोई अंतर है? डबल की शुरुआत के लिए आपको किस का उपयोग करना चाहिए?सी ++ 0 और 0.0
धन्यवाद
के बीच अंतर सी ++ में 0 और 0.0 के बीच कोई अंतर है? डबल की शुरुआत के लिए आपको किस का उपयोग करना चाहिए?सी ++ 0 और 0.0
धन्यवाद
एक शाब्दिक 0
माना जाता है एक int
शाब्दिक; शाब्दिक 0.0
एक double
शाब्दिक है। double
को असाइन करते समय, या तो काम करेगा (चूंकि int
को विस्तृत रूपांतरण में डाला जा सकता है); हालांकि, 0.0
को int
पर कास्टिंग एक संकुचित रूपांतरण है, और इसे स्पष्ट रूप से किया जाना चाहिए; यानी (int)0.0
।
एक पूर्णांक अक्षरक प्रतीत होता है, दूसरा एक फ़्लोटिंग पॉइंट शाब्दिक होता है। यह वास्तव में संकलक से कोई फर्क नहीं पड़ता कि क्या आप पूर्णांक अक्षर के साथ फ्लोट या युगल शुरू करते हैं। किसी भी घटना में शाब्दिक कुछ आंतरिक प्रतिनिधित्व में संकलित किया जाएगा।
मैं आपके इरादे (अन्य प्रोग्रामर) को स्पष्ट रूप से स्पष्ट करने के लिए 0.0 का सुझाव देना चाहता हूं।
मैं अपने स्थिरांक प्रकार-संगत रखने की कोशिश करता हूं। इंक के लिए 0। फ्लोट के लिए 0.0 एफ या 0. एफ, और डबल के लिए 0.0।
मेरे लिए, ऐसा करने का सबसे महत्वपूर्ण कारण यह है कि संकलक और प्रोग्रामर एक ही चीज़ देखते हैं।
मैं ऐसा करते हैं तो ...
float t=0.5f;
float r;
r= 1 * t;
... आर 0 या .5 सौंपा जाना चाहिए? अगर मैं इसके बजाय ऐसा करता हूं तो कोई हिचकिचाहट नहीं है ...
float t=0.5f;
float r;
r= 1.0f * t;
और 0.0f एक फ्लोट मान है। : डी –
@ रोब, क्या आप कह रहे हैं कि एक डबल को अंतर्निहित रूप से एक int में परिवर्तित नहीं किया जा सकता है? 'Int a = 0.0;' पर विचार करें। –
एक डबल को निश्चित रूप से एक स्पष्ट कलाकार के बिना एक int को सौंपा जा सकता है। उत्तर के इस हिस्से को संशोधित करने की जरूरत है। –