मैं सी ++ भाषा का अध्ययन कर रहा हूँ और मैं जैसे रूपांतरण के बारे में कुछ संदेह है, तुम मुझे समझा सकता है क्या इस तरह एक अभिव्यक्ति में होता है:क्या होता है जब मैं हस्ताक्षरित और हस्ताक्षरित प्रकारों को मिलाता हूं?
unsigned int u = 10;
int a = -42;
std::cout << u - a << std::endl;
यहाँ मुझे पता है कि परिणाम 52 हो जाएगा अगर मैं लागू नियम है जब हमारे पास दो गणितीय ऑपरेटरों हैं। लेकिन मुझे आश्चर्य है कि क्या होता है जब संकलक किसी हस्ताक्षरित मान में कनवर्ट करने के लिए अस्थायी प्रकार का अस्थायी बनाता है, उसके बाद क्या होता है? अभिव्यक्ति अब 10 -4294967254 होना चाहिए।
आप कोशिश क्यों नहीं करते और देखते हैं? – dandan78
@ dandan78 मैं समझना चाहता हूं कि कंपाइलर अंतर्निहित –
@ dandan78 पर कैसे काम करता है: कभी-कभी वह निष्पक्ष हो सकता है; खासकर यदि गणना के किसी भी पहलू को अपरिभाषित किया गया है। – Bathsheba