JavaScript Tutorials

जावास्क्रिप्ट में दक्ष दशमलव से द्विआधारी रूपांतरण

Spread the love

दशमलव संख्याओं को उनके बाइनरी समकक्षों में बदलना प्रोग्रामिंग में एक सामान्य कार्य है। जावास्क्रिप्ट इस रूपांतरण को करने के कुशल तरीके प्रदान करता है, और यह लेख दो प्राथमिक विधियों का पता लगाता है।

विषयसूची

जावास्क्रिप्ट में मैनुअल बाइनरी रूपांतरण

अंतर्निहित एल्गोरिथम को समझना आपके प्रोग्रामिंग कौशल को बढ़ाता है। यह खंड दशमलव संख्या को उसके बाइनरी निरूपण में बदलने के लिए एक कस्टम फ़ंक्शन प्रदर्शित करता है। एल्गोरिथम बार-बार संख्या को 2 से विभाजित करता है, बाइनरी स्ट्रिंग बनाने के लिए शेषफलों को रिकॉर्ड करता है।


function decimalToBinary(decimal) {
  if (decimal === 0) return "0"; 
  let binary = "";
  let temp = decimal;
  while (temp > 0) {
    binary = (temp % 2) + binary;
    temp = Math.floor(temp / 2);
  }
  return binary;
}

// उदाहरण
console.log(decimalToBinary(10));   // आउटपुट: 1010
console.log(decimalToBinary(255));  // आउटपुट: 11111111
console.log(decimalToBinary(0));    // आउटपुट: 0

फ़ंक्शन 0 के मामले को संभालता है और तब तक पुनरावृतिपूर्वक इनपुट को विभाजित करता है जब तक कि भागफल 0 न हो जाए। प्रत्येक शेषफल (0 या 1) को binary स्ट्रिंग में जोड़ा जाता है, जिससे बाइनरी निरूपण बनता है।

toString(2) के साथ कुशल बाइनरी रूपांतरण

जावास्क्रिप्ट का अंतर्निहित toString(2) विधि एक संक्षिप्त और कुशल समाधान प्रदान करता है। यह विधि सीधे एक संख्या को उसके बाइनरी स्ट्रिंग निरूपण में बदल देती है।


function decimalToBinaryFast(decimal) {
  return decimal.toString(2);
}

// उदाहरण
console.log(decimalToBinaryFast(10));   // आउटपुट: 1010
console.log(decimalToBinaryFast(255));  // आउटपुट: 11111111
console.log(decimalToBinaryFast(0));    // आउटपुट: 0

toString(2) विधि आधार (बेस) को एक तर्क के रूप में लेती है। इसे 2 पर सेट करने से बाइनरी रूपांतरण निर्दिष्ट होता है। यह दृष्टिकोण मैनुअल विधि की तुलना में काफी तेज और अधिक पठनीय है।

निष्कर्ष में, जबकि मैनुअल रूपांतरण प्रक्रिया को समझना सीखने के लिए मूल्यवान है, अंतर्निहित toString(2) विधि अधिकांश व्यावहारिक परिदृश्यों में इसकी दक्षता और पठनीयता के लिए पसंदीदा दृष्टिकोण है।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *