जब कोड-गोल्फिंग होती है तो कई बार आपको अपने कोड के हेक्स डंप की आवश्यकता होती है, आमतौर पर क्योंकि आपने अनपेक्षित वर्णों का उपयोग किया है। तो, हेक्स डंप्स ही क्यों एक कार्यक्रम नहीं बनाते हैं?
चुनौती
यह चुनौती है, बिना किसी इनपुट के, निम्न स्वरूपण में अपने स्रोत कोड के हेक्स डंप को आउटपुट करें:
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
या, उदाहरण के लिए, यदि आपका कार्यक्रम था print("SomeString"):rep(123)
0000: 70 72 69 6e 74 28 5c 22 53 6f 6d 65 53 74 72 69 print("SomeStrin
0010: 6e 67 5c 22 29 3a 72 65 70 28 31 32 33 29 g"):rep(123)
विशिष्ट तथ्य
हेक्स डंप तीन भागों की पंक्तियों में विभाजित है, प्रत्येक पंक्ति आपके स्रोत कोड के 16 बाइट्स का प्रतिनिधित्व करती है।
पहला भाग मेमोरी एड्रेस है। यह निर्दिष्ट करता है कि आपके कोड में वर्तमान पंक्ति कहां से शुरू होती है। एक 2 बाइट हेक्साडेसिमल संख्या के रूप में लिखा गया है :, उसके बाद एक स्थान है।
दूसरा, हेक्स डंप ही है। यह आपके सोर्स कोड की 16 बाइट्स है, जो कि हेक्साडेसिमल फॉर्म में लिखी गई है जो कि स्पेस से अलग होती है। यह आपके कोड के एन्कोडिंग का उपयोग करके एक सटीक बाइट प्रतिनिधित्व होना चाहिए।
अंत में, दो अंतरिक्ष अंतराल के बाद, कोड ही है। यह आपके कोड का केवल 16 अक्षर है, जिसमें नॉन प्रिंट करने योग्य वर्ण लिखे गए हैं.
टिप्पणियाँ
- यह है एक Quine हां, तो चुनौती स्टैंडर्ड Quine नियम लागू होते हैं।
- और यह कोड-गोल्फ चुनौती भी है, इसलिए स्टैंडर्ड लोफॉल्स लागू होते हैं।
- जैसा कि दूसरे उदाहरण में दिखाया गया है, ईओएफ के बाद बाइट न लिखें, इसके बजाय व्हॉट्सएप का उपयोग करें।
- ट्रेलिंग व्हाट्सएप ठीक है।
- हेक्स डंप के इनबिल्ट्स, यदि आपके पास इस विशिष्ट प्रारूप में एक है, तो प्रतिबंधित नहीं है, लेकिन इसे फेंक दिया जाता है।
- गैर मुद्रण योग्य वर्ण किसी भी वर्ण को संदर्भित करते हैं, जिसे केवल एक बाइट के रूप में दर्शाया जाता है, एक एकल स्थानित ग्लिफ़ के रूप में प्रतिनिधित्व नहीं किया जा सकता है। UTF-8, इस का अर्थ है
0-31,128-255। के लिए जेली कोडपेज , के रूप में सभी पात्रों एक भी दूरी ग्लिफ़ के रूप में प्रतिनिधित्व किया जा सकता है, वहाँ कोई गैर मुद्रण योग्य पात्र हैं।
xxdइसे नहीं पढ़ सकते हैं ?