1u
प्रकार unsigned int
है। इसके बाद यूनरी -
ऑपरेटर का उपयोग करके अस्वीकार कर दिया जाता है। व्यवहार इस प्रकार है:
एक अहस्ताक्षरित मात्रा के नकारात्मक से 2 n, जहां n पदोन्नत संकार्य में बिट्स की संख्या है अपने मूल्य को घटाकर की गणना की जाती है (सी ++ 11 5.3.1/8)।
-1u
इस प्रकार unsigned int
द्वारा आप सबसे बड़ा मान प्रदर्शनीय देने की गारंटी है।
मनमाने ढंग से हस्ताक्षरित प्रकार द्वारा प्रतिनिधित्व करने वाला सबसे बड़ा मूल्य प्राप्त करने के लिए, आप उस प्रकार के -1
को कास्ट कर सकते हैं। उदाहरण के लिए, std::size_t
के लिए, static_cast<std::size_t>(-1)
पर विचार करें।
स्रोत
2011-12-05 21:21:58
साहित्य हमेशा गैर-नकारात्मक होते हैं। इसे '- (1u)' के रूप में पार्स किया गया है। –
@KerrekSB क्या इससे कोई फर्क पड़ता है? –
ठीक है, यह परिणाम हस्ताक्षरित करता है, इसलिए यह यू – StilesCrisis