सर्वनाम हेक्स
शो सिलिकॉन वैली के साथ आप में से किसी एक के लिए, यह चुनौती एक एक्सचेंज से प्रेरित है जो इस तरह से चलता है ( YouTube ):
Kid -
Here it is: Bit… soup. It’s like alphabet soup, BUT… it’s ones and zeros
instead of letters.
Erlich Bachman -
{silence}
Kid -
‘Cause it’s binary? You know, binary’s just ones and zeroes.
Erlich Bachman -
Yeah, I know what binary is. Jesus Christ, I memorized the hexadecimal
times tables when I was fourteen writing machine code. Okay? Ask me
what nine times F is. It’s fleventy-five. I don’t need you to tell me what binary is.
यह ध्यान दिया जाना चाहिए कि तकनीकी रूप से, 0x9 * 0xF = 0x87
'फ्लीवेंटी-फाइव' नहीं, लेकिन इससे एक महत्वपूर्ण सवाल सामने आता है - आप बातचीत में वास्तव में हेक्स का उच्चारण कैसे करेंगे? यह oh ex eff eff
आसानी से जीभ से बहने जैसा नहीं है , इसलिए हमें क्या करना चाहिए? यहाँ एक आसान उच्चारण चार्ट है जिसका हम अनुसरण करेंगे।
A = ay A0 = atta-
B = bee B0 = bibbity-
C = cee C0 = city-
D = dee D0 = dickety-
E = ee E0 = ebbity-
F = eff F0 = fleventy-
हम 4-लंबाई की हेक्स संख्या को दो के दो समूहों में विभाजित कर सकते हैं, और उपरोक्त तालिका से उच्चारण, और साथ ही संख्याओं के लिए सामान्य अंग्रेजी उच्चारण का निर्धारण कर सकते हैं। इसलिए, उदाहरण के लिए 0xFFAB
, हमें मिलेगा Fleventy-eff bitey atta-bee
।
यदि कोई संख्या शामिल है, जैसे कि 0xF5AB
, आप प्रिंट करेंगे Fleventy-five bitey atta-bee
। इसके अलावा, यदि कोई संख्या किसी एक समूह को शुरू करती है, तो आपको इसे "टेंस" उच्चारण का उपयोग करना चाहिए। उदाहरण के लिए, 0x5FAA
बन जाएगा Fifty-eff bitey atta-ay
। इस मामले में जहां आपको कुछ पसंद है 0x1FAC
, यह होगा Effteen bitey atta-cee
। लेकिन, अगर इस नियम का उपयोग किया जाना था 0x1AF4
, a-teen
के लिए भ्रमित किया जा सकता है eighteen
, तो आपको एक Y को रोकना होगा। इसलिए, सही आउटपुट होगाYayteen bitey fleventy-four
के मामले में 0xD0F4
, बजाय करने का Dickety-zero bitey fleventy-four
, हम शून्य पर ध्यान न दें और मुद्रित होगा Dickety-bitey fleventy-four
।
हाइफ़न केवल दो के समूहों के भीतर दिखाई देनी चाहिए, अर्थात जब तक पहला समूह केवल एक शब्द न हो तब तक बिट्टी को एक हाइफ़न के साथ किसी भी समूह से नहीं जोड़ा जाना चाहिए! तो 0x04F4
होगा four-bitey fleventy-four
, लेकिन 0x44F4
होगा forty-four bitey fleventy-four
। जैसा कि ट्राइकोप्लाक्स ने कहा, एक गोल संख्या का पालन करते समय बिट्टी को केवल हाइफ़न किया जाना चाहिए।
यह कैसे काम करेगा, इस पर एक व्यापक नज़र डालने के लिए, नीचे दिए गए उदाहरण I / O को देखें।
लक्ष्य
एक प्रोग्राम या फ़ंक्शन बनाएँ जो इनपुट या फ़ंक्शन तर्क के रूप में हेक्साडेसिमल स्ट्रिंग लेगा और इसका उच्चारण करेगा। आउटपुट में उचित कैपिटलाइज़ेशन होना चाहिए। आप मान सकते हैं कि इस संख्या की लंबाई हमेशा 4 होगी।
उदाहरण I / O
"0xFFFF" -> "Fleventy-eff bitey fleventy-eff"
"0x0000" -> "Zero"
"0x0010" -> "Ten"
"0x0100" -> "One-bitey zero"
"0x1110" -> "Eleven-bitey ten"
"0xBEEF" -> "Bibbity-ee bitey ebbity-eff"
"0x9999" -> "Ninety-nine bitey ninety-nine"
"0xA1B2" -> "Atta-one bitey bibbity-two"
"0x3C4F" -> "Thirty-cee bitey forty-eff"
"0x17AB" -> "Seventeen-bitey atta-bee"
"0x1AFB" -> "Yayteen-bitey fleventy-bee"
"0xAAAA" -> "Atta-ay bitey atta-ay"
यह कोड-गोल्फ है , इसलिए कम से कम बाइट्स जीतती हैं।