एक चर्चा से आ रहा है here, मानक अक्षरों के लिए मान निर्दिष्ट करता है? तो, '0'
48 होने की गारंटी है? एएससीआईआई हमें बताएगा, लेकिन क्या इसकी गारंटी है? यदि नहीं, तो क्या आपने कोई कंपाइलर देखा है जहां '0'
48 नहीं है?क्या एएससीआईआई होने की गारंटी वाले चार अक्षर का चरित्र सेट है?
उत्तर
नहीं। स्रोत या निष्पादन चरित्र के लिए एएससीआईआई सबसेट के साथ एन्कोडिंग का उपयोग करने के लिए कोई आवश्यकता नहीं है। मैंने किसी भी गैर-ASCII कार्यान्वयन को नहीं देखा है, लेकिन मैं किसी ऐसे व्यक्ति को जानता हूं जो किसी को जानता है। (यह आवश्यक है कि '0' - '9' में संगत पूर्णांक मान हों, लेकिन यह SO पर कहीं और एक डुप्लिकेट प्रश्न है।)
स्रोत वर्ण सेट के लिए उपयोग किया जाने वाला एन्कोडिंग नियंत्रित करता है कि आपके स्रोत कोड के बाइट्स का अर्थ कैसे होता है सी ++ भाषा में इस्तेमाल वर्णों में। मानक निष्पादन चरित्र के मानों के मान के रूप में सदस्यों का वर्णन करता है। यह एन्कोडिंग है जो इन वर्णों को उनके संबंधित मानों पर मैप करती है जो '0'
के पूर्णांक मान को निर्धारित करती है।
हालांकि कम से कम मूल स्रोत चरित्र के साथ-साथ कुछ नियंत्रण वर्ण और मान शून्य के साथ एक शून्य वर्ण निष्पादन वर्ण सेट में मौजूद (उपयुक्त मानों के साथ) मौजूद होना चाहिए, इसके लिए कोई आवश्यकता नहीं है एएससीआईआई होने के लिए एन्कोडिंग या वर्णों के किसी विशेष सबसेट (शून्य चरित्र के अलावा) के लिए ASCII मानों का उपयोग करना।
+1 क्योंकि आप एक ऐसे लड़के को जानते हैं जो एक लड़के को जानता है। –
मुझे एक डेटाफाइल को एक बार वैकल्पिक वर्ण सेट करने की प्रक्रिया करना पड़ा (मुझे नहीं लगता कि यह ईबीसीडीआईसी भी था)। लेकिन मैंने एएससीआईआईआई कंपाइलर का उपयोग करके ऐसा किया। –
प्रश्न में अनुच्छेद 2.2/3 है " में 0 अंकों के बाद प्रत्येक वर्ण का मान दशमलव अंकों की सूची के ऊपर पिछले के मान से अधिक होगा।" –
नहीं, मानक बहुत सावधान नहीं है कि स्रोत वर्ण एन्कोडिंग क्या है।
सी और सी ++ कंपाइलर्स ईबीसीडीआईसी कंप्यूटर पर भी चलते हैं, आपको पता है, '0' != 0x30
।
हालांकि, मुझे विश्वास है कि '1' == '0' + 1
आवश्यक है।
हां '' 1 '==' 0 '+ 1' आवश्यक है (§2.3/3)। – kennytm
यह भी दर्शाता है कि '5' - '0' == 5', जो चरित्र अंकों से संख्याओं में कनवर्ट करने के लिए अच्छी विधि है। –
यह 0xF0
ईबीसीडीआईसी में है। मैंने कभी ईबीसीडीआईसी संकलक का उपयोग नहीं किया है, लेकिन मुझे बताया गया है कि वे थोड़ी देर के लिए आईबीएम में सभी क्रोध थे।
सी ++ मानक में कोई आवश्यकता नहीं है कि स्रोत या निष्पादन एन्कोडिंग ASCII- आधारित हैं। यह गारंटी है कि '0' == '1' - 1
(और सामान्यतः कि अंक संगत और क्रम में हैं)। यह गारंटी है कि पत्र संगत हैं, और वास्तव में ईबीसीडीआईसी 'J' != 'I' + 1
और 'S' != 'R' + 1
में हैं।
आप एक उपयुक्त कंपाइलर विकल्प पास करके आसानी से जीसीसी को एक ईबीसीडीआईसी- (या कुछ भी) एन्कोडेड स्रोत फ़ाइल संकलित कर सकते हैं। –
@KerrekSB: '-fexec-charset' है जो बाइनरी में स्ट्रिंग स्थिरांक के एन्कोडिंग को प्रभावित करता है, साथ ही चरित्र हैंडलिंग फ़ंक्शन (जैसे' isdigit'), लेकिन स्रोत एन्कोडिंग में कौन सा विकल्प बदलता है? –
'-फिनपूट-वर्णसेट' भी है। –
सी ++ 11 stardard N3225
बुनियादी स्रोत वर्ण सेट के सदस्यों के लिए ग्लिफ़ के अनुसार आईएसओ/आईईसी 10646 के सबसेट जो ASCII से मेल खाती है से पात्रों की पहचान करना है अक्षरों का समूह। हालांकि, क्योंकि स्रोत से मानचित्रण फाई स्रोत वर्ण सेट (में अनुवाद चरण 1 में वर्णित) के लिए ले पात्रों विशिष्ट कार्यान्वयन-de फाई नेड के रूप में एड है, एक कार्यान्वयन दस्तावेज़ के लिए कैसे बुनियादी स्रोत पात्रों स्रोत में प्रतिनिधित्व कर रहे हैं की आवश्यकता है फाई लेस
संक्षेप में, वर्ण सेट ASCII तालिका में मैप किया जाने की आवश्यकता नहीं है, भले ही मैं किसी भी अलग कार्यान्वयन के बारे में कभी नहीं सुना है
- 1. क्या तर्क [0] निष्पादन का मार्ग होने की गारंटी है?
- 2. Args गैर-शून्य होने की गारंटी है?
- 3. gettimeofday() microsecond संकल्प होने की गारंटी है?
- 4. क्या ऑब्जेक्ट लौटाए जाने पर स्थानांतरित होने की गारंटी है?
- 5. क्या स्टडीन पर बंद/फ्लेक्स सही होने की गारंटी है?
- 6. एएससीआईआई डेटा का उपयोग कर चरित्र को कैसे असाइन करें?
- 7. स्ट्रिंग अक्षर की मूल्य श्रेणी क्या है?
- 8. क्या readdir() ऑर्डर की गारंटी देता है?
- 9. एएससीआईआई (.NET)
- 10. क्या std :: वेक्टर तत्व संगत होने की गारंटी रखते हैं?
- 11. छिपे हुए पासवर्ड पर प्रदर्शित होने वाला चार क्या है?
- 12. 8-अक्षर प्रक्रिया होने का क्या फायदा है?
- 13. चरित्र से पहले अक्षर हटाएं "।"
- 14. एक परिवर्तनीय स्वैप पाइथन में परमाणु होने की गारंटी है?
- 15. pyMySQL सेट कनेक्शन चरित्र सेट
- 16. क्या नया चार वास्तव में कक्षा के प्रकार के लिए गठबंधन स्मृति की गारंटी देता है?
- 17. क्या Dir.glob आदेश की गारंटी देता है?
- 18. क्या पाइथन सॉर्ट किया गया है() फ़ंक्शन स्थिर होने की गारंटी है?
- 19. क्या एमडी 5 एंड्रॉइड में MessageDigest के साथ उपयोग के लिए उपलब्ध होने की गारंटी है?
- 20. क्या GC.SuppressFinalize गारंटी है?
- 21. क्या पहले चरित्र का चयन करने का कोई तरीका है? : पहला अक्षर
- 22. क्या बफर कम हो रहा है जब realloc जगह में होने की गारंटी है?
- 23. वेक्टर पॉइंटर स्थानों की गारंटी है?
- 24. सी में, कॉन्स वैरिएबल मेमोरी में अलग होने की गारंटी है?
- 25. रेगुलर एक्सप्रेशन मिलान का अल्फा चरित्र 4 अक्षर या अंक
- 26. क्या रोबोटो और रोबोटो बोल्ड 4.0+ पर उपलब्ध होने की गारंटी है?
- 27. jQuery.attr() लोअरकेस की गारंटी देता है?
- 28. क्या आवेदन अनुरोध समाप्त होने के बाद ndb async निष्पादित करने की गारंटी है?
- 29. क्या क्यूटी द्वारा समर्थित प्रत्येक प्लेटफ़ॉर्म पर 32 बिट्स होने की गारंटी है या केवल qint32?
- 30. क्या पीसीहर ('') # 0 (शून्य नहीं) के सूचक होने की गारंटी है?
एक शब्द: EBCDIC। – kennytm
मैं इस बारे में उत्सुक हूं कि आप यह क्यों पूछ रहे हैं। जाहिर है आप 'int' मान के लिए भी '0'' का उपयोग कर सकते हैं। –
@ निकोस चान्तिजारास मैं लिंक किए गए उत्तर में चर्चा के कारण पूछ रहा हूं, और जब मैं '48' का उपयोग कर सकता हूं तो मैं 'int' के लिए '0'' का उपयोग क्यों करूं? –