Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में कस्टम मैपिंग के साथ दशमलव बेस से हेक्साडेसिमल में इंटीजर मैप करें


आमतौर पर जब हम दशमलव को हेक्साडेसिमल (बेस 16) में बदलते हैं तो हम 0123456789ABCDEF सेट का उपयोग करके नंबर को मैप करते हैं।

हमें एक फ़ंक्शन लिखना आवश्यक है जो ठीक वही करता है लेकिन उपयोगकर्ता को ऊपर वर्णित के बजाय किसी भी स्केल का उपयोग करने की स्वतंत्रता प्रदान करता है।

उदाहरण के लिए:

दशमलव 363 का हेक्साडेसिमल नोटेशन 16B है
लेकिन यदि उपयोगकर्ता '0123456789ABCDEF' के बजाय 'qwertyuiopasdfgh' स्केल का उपयोग करने का निर्णय लेता है, तो नंबर 363, तब wus द्वारा दर्शाया जाएगा

यही हमें करना आवश्यक है।

तो, आइए एक फ़ंक्शन toHex() बनाएं जो एक इंटीजर से हेक्स बनाने के लिए रिकर्सन का उपयोग करता है। सटीक होने के लिए, यह चार आर्गुमेंट लेगा, लेकिन उन चार में से केवल पहले दो अंतिम उपयोगकर्ता के लिए उपयोगी होंगे।

उनमें से पहला हेक्स में बदली जाने वाली संख्या होगी, और दूसरा कस्टम स्केल, यह वैकल्पिक होगा और यदि यह प्रदान किया जाता है, तो यह ठीक 16 कैरेक्टर्स की एक स्ट्रिंग होनी चाहिए अन्यथा फ़ंक्शन false लौटाता है। अन्य दो आर्गुमेंट्स hexString और isNegative हैं जो डिफ़ॉल्ट रूप से खाली स्ट्रिंग और एक बूलियन पर सेट हैं।

उदाहरण

const num = 363;
const toHex = (
  num,
  hexString = '0123456789ABCDEF',
  hex = '',
  isNegative = num < 0
) => {
  if(hexString.length !== 16){
    return false;
  }
  num = Math.abs(num);
  if(num && typeof num === 'number'){
    // रिकर्सिवली शेष को hex में जोड़ें और num को 16 से विभाजित करें
    return toHex(Math.floor(num / 16), hexString,
      `${hexString[num%16]}${hex}`, isNegative);
  };
  return isNegative ? `-${hex}` : hex;
};
console.log(toHex(num, 'QWERTYUIOPASDFGH'));
console.log(toHex(num));
console.log(toHex(num, 'QAZWSX0123456789'))

आउटपुट

कंसोल में आउटपुट होगा:

WUS
16B
A05

  1. - जावास्क्रिप्ट में जिस दशमलव संख्या पर कॉल किया जा रहा है उसका निकटतम बड़ा पूर्णांक लौटाना

    समस्याहमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो जावास्क्रिप्ट के Math क्लास में रहता है। हमारा फ़ंक्शन उस दशमलव संख्या का निकटतम बड़ा पूर्णांक लौटाएगा जिस पर इसे कॉल किया जा रहा है। यदि संख्या पहले से ही एक पूर्णांक है, तो हमें इसे वैसे ही लौटाना चाहिए।उदाहरणनिम्न कोड देखें:const num = 234.56; Math.

  1. - JavaScript में दोहराव वाले दशमलव भाग की लंबाई ढूंढना

    समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो एक संख्या, num, को पहला और एकमात्र तर्क के रूप में लेता है। हमारे फ़ंक्शन को दो काम करने चाहिए: सबसे पहले, यह जांचना चाहिए कि संख्या 10 के साथ अभाज्य है या नहीं, यदि नहीं, तो हमें -1 वापस करना चाहिए (एक संख्या किसी अन्य संख्या के साथ अभाज्य होती है यदि

  1. - JavaScript में पूर्णांक के बिट्स वैकल्पिक हैं या नहीं जांचना

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो एक पूर्णांक num को एकमात्र आर्गुमेंट के रूप में लेता है।हमारा फ़ंक्शन जांचना चाहिए कि num का बाइनरी प्रतिनिधित्व में वैकल्पिक बिट्स हैं या नहीं - अर्थात, दो आसन्न बिट्स के मान हमेशा अलग-अलग हों।उदाहरण के लिए, यदि इनपुट है:इनपुटconst num = 5;आउटपुटconst ou