"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > सामान्य अंकगणितीय रूपांतरण हस्ताक्षरित और अहस्ताक्षरित ऑपरेंड वाले बाइनरी \"+\" ऑपरेटरों के परिणाम प्रकार को कैसे निर्धारित करते हैं?

सामान्य अंकगणितीय रूपांतरण हस्ताक्षरित और अहस्ताक्षरित ऑपरेंड वाले बाइनरी \"+\" ऑपरेटरों के परिणाम प्रकार को कैसे निर्धारित करते हैं?

2024-12-22 को प्रकाशित
ब्राउज़ करें:684

How Do Usual Arithmetic Conversions Determine the Result Type of Binary \

हस्ताक्षरित और अहस्ताक्षरित बाइनरी ऑपरेटरों के लिए पदोन्नति नियम

निम्नलिखित कोड स्निपेट पर विचार करें:

// Snippet 1
int max = std::numeric_limits::max();
unsigned int one = 1;
unsigned int result = max   one;
// Snippet 2
unsigned int us = 42;
int neg = -43;
int result = us   neg;

ऑपरेंड के अलग-अलग हस्ताक्षर को देखते हुए, ऑपरेटर इन मामलों में सही परिणाम प्रकार कैसे निर्धारित करता है?

ऑपरेटर "सामान्य अंकगणितीय रूपांतरण" का पालन करता है नियम, जो ऑपरेंड प्रकारों के आधार पर प्रकार रूपांतरण चरणों को निर्धारित करता है। इस नियम के अनुसार, यदि कोई भी ऑपरेंड है:

  • लॉन्ग डबल, तो दोनों ऑपरेंड लॉन्ग डबल में बदल जाते हैं।
  • डबल, दोनों ऑपरेंड डबल में बदल जाते हैं।
  • फ्लोट, दोनों ऑपरेंड को फ्लोट में बदल दिया जाता है।
  • अहस्ताक्षरित लंबा, अन्य ऑपरेंड को अहस्ताक्षरित में बदल दिया जाता है long.
  • long int और दूसरा ऑपरेंड अहस्ताक्षरित int, दोनों ऑपरेंड को अहस्ताक्षरित long int में बदल दिया जाता है यदि अहस्ताक्षरित int का मान long int में दर्शाया जा सकता है; अन्यथा, दोनों को लंबे समय में परिवर्तित कर दिया जाता है। नियम में int और unsigned int विनिमेय हैं, व्यापक प्रकार (unsigned int) वाले ऑपरेंड को परिणाम के रूप में चुना जाता है प्रकार।
  • यह बताता है कि क्यों स्निपेट 1 में, परिणाम अहस्ताक्षरित int (2147483648) है और स्निपेट 2 में, परिणाम int (-1) है। हस्ताक्षरित ऑपरेंड (नकारात्मक) को अप्रत्यक्ष रूप से अहस्ताक्षरित int में बदल दिया जाता है, जिसके परिणामस्वरूप बाद वाले मामले में एक अपरिभाषित मान होता है।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3