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

क्या 'लॉन्ग' में C++ में कम से कम 32 बिट्स होने की गारंटी है?

2024-11-07 को प्रकाशित
ब्राउज़ करें:742

Is `long` Guaranteed to Have at Least 32 Bits in C  ?

क्या लॉन्ग के 32 बिट होने की गारंटी है?

सी मानक पर आधारित आम धारणाओं के बावजूद, सवाल उठता है कि क्या लॉन्ग के होने की गारंटी है कम से कम 32 बिट. मानक मौलिक अभिन्न प्रकारों को वर्गीकृत करता है:

sizeof(char) ≤ sizeof(short int) ≤ sizeof(int) ≤ sizeof(long int)

हालांकि, कई लोग यह मानते हैं कि इसके आधार पर पदानुक्रम, long में 32 बिट होने चाहिए। हालाँकि, मानक स्पष्ट रूप से बताता है कि एक बाइट में बिट्स की संख्या कार्यान्वयन-परिभाषित है। स्टाइनबैक ने दावा किया कि लॉन्ग 32 बिट होने की गारंटी है। उन्होंने इस दावे को लंबे समय तक धारण किए जा सकने वाले मानों की सीमा (LONG_MIN से LONG_MAX) पर निहित सीमा पर आधारित किया।

सी मानक सी मानक (18.3.2) का संदर्भ देता है, जो परिभाषित करता है:LONG_MIN ≤ -2^31 1 LONG_MAX ≥ 2^31 - 1

32-बिट प्रतिनिधित्व से कनेक्शन

LONG_MIN ≤ -2^31   1
LONG_MAX ≥ 2^31 - 1

दो-पूरक प्रतिनिधित्व:

यदि नकारात्मक संख्याओं को दो-पूरक में दर्शाया जाता है, तो LONG_MIN या LONG_MAX को संग्रहीत करने के लिए 32 बिट्स की आवश्यकता होती है।

  1. स्पष्ट साइन बिट:यदि साइन बिट का उपयोग नकारात्मक संख्याओं के लिए किया जाता है, तो कुल भंडारण के लिए अभी भी 32 बिट्स की आवश्यकता होती है।
  2. निष्कर्ष
  3. हालांकि सी मानक को 32 बिट्स के लिए स्पष्ट रूप से लंबे समय की आवश्यकता नहीं है, न्यूनतम सीमा आवश्यकता (LONG_MIN से LONG_MAX) परोक्ष रूप से इसकी आवश्यकता होती है। ऐसा इसलिए है क्योंकि इन मूल्यों का प्रतिनिधित्व करने के लिए या तो 32 बिट्स भंडारण या समकक्ष मूल्य क्षमता वाले कार्यान्वयन-विशिष्ट तंत्र की आवश्यकता होती है। इसलिए, यह निष्कर्ष निकाला जा सकता है कि C गारंटी देता है कि long में कम से कम 32 बिट हैं।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3