C++ में बाइनरी से दशमलव रूपांतरण

C Mem Ba Inari Se Dasamalava Rupantarana



लेख में, हम C++ प्रोग्राम में बाइनरी मानों का दशमलव मानों में रूपांतरण देखेंगे। बाइनरी संख्या को 0 और 1 अंकों द्वारा दर्शाया जाता है, जबकि दशमलव मान में 0 से 9 तक के अंक होते हैं। बाइनरी-टू-दशमलव रूपांतरण को पूरा करने के लिए, बाइनरी मान को 2 की शक्ति से गुणा किया जाना चाहिए। n” दाईं ओर से शुरू करें और ऊंचे “n” के साथ बाईं ओर बढ़ें। आइए बाइनरी को दशमलव मान में बदलने के लिए इसे कोड में लागू करें।

उदाहरण 1: 'जबकि' लूप का उपयोग करके बाइनरी से दशमलव का प्रोग्राम

संख्या को बाइनरी से दशमलव में बदलने के लिए हमारे पास निम्नलिखित प्रोग्राम है। कार्यक्रम के भीतर, हम दशमलव में बाइनरी रूपांतरण के लिए 'जबकि' लूप का उपयोग करते हैं।

#शामिल करें
#शामिल करें <सीमैथ>

का उपयोग करते हुए नाम स्थान कक्षा ;

int यहाँ रूपांतरणऑफबिन ( लंबा लंबा ) ;

int यहाँ मुख्य ( ) {
लंबा लंबा एक पर ;
अदालत << 'बाइनरी नंबर आवश्यक:' ;
खाना >> एक पर ;
अदालत << एक पर << 'बाइनरी में = ' << रूपांतरणऑफबिन ( एक पर ) << 'दशमलव में' ;
वापस करना 0 ;
}

int यहाँ रूपांतरणऑफबिन ( लंबा लंबा एक पर ) {
int यहाँ इसलिए = 0 , एक्स = 0 , शेष ;

जबकि ( एक पर ! = 0 ) {
शेष = एक पर % 10 ;
एक पर / = 10 ;
दिसम्बर + = शेष * पाउ ( 2 , एक्स ) ;
++ एक्स ;
}

वापस करना इसलिए ;
}

यहां, हम इनपुट और आउटपुट स्ट्रीम के लिए 'iostream' हेडर फ़ाइल और प्रोग्राम में गणितीय फ़ंक्शन का उपयोग करने के लिए 'cmath' को परिभाषित करते हैं। उसके बाद, हम ConversionOfBin() फ़ंक्शन को परिभाषित करते हैं जहां 'long long' प्रकार का पैरामीटर पास किया जाता है। इसके बाद, हमारे पास प्रोग्राम को निष्पादित करने के लिए एक मुख्य() फ़ंक्शन कॉल है। हम मुख्य() फ़ंक्शन के अंदर 'num' नामक एक लंबा इंटर टाइप वेरिएबल घोषित करते हैं।







इसके बाद, ConversionOfBin() फ़ंक्शन इनपुट बाइनरी संख्या को दशमलव संख्या में परिवर्तित करता है। इसके लिए, हमारे पास ड्राइवर कोड के बाद ConversionOfBin() फ़ंक्शन की परिभाषा है। ConversionOfBin() फ़ंक्शन को 'num' वेरिएबल के साथ पास किया जाता है जिसमें बाइनरी नंबर होता है। फिर, हम बाइनरी संख्या को 'संख्या' में दशमलव मान में बदलने के लिए 'जबकि' लूप कहते हैं। इससे पहले, हम 'डेसी', 'एक्स,' और 'शेष' वेरिएबल्स को '0' के मान से आरंभ करते हैं।



'जबकि' लूप के भीतर, बाइनरी संख्या के सबसे सही मूल्य का प्रतिनिधित्व करने के लिए डिवीजन ऑपरेशन आयोजित किया जाता है। विभाजन के परिणाम 'शेष' चर में संग्रहीत होते हैं। फिर, हम शेषफल के परिणाम और शक्ति परिणाम को 'डेसी' चर में जोड़ते हैं। 'x' वेरिएबल 2 की सक्रिय शक्ति का मूल्यांकन करता रहता है।



निर्दिष्ट बाइनरी संख्याओं को दशमलव मानों में परिवर्तित करने के परिणाम C++ कंसोल में प्राप्त किए जाते हैं:





उदाहरण 2: 'फॉर' लूप का उपयोग करके बाइनरी से दशमलव का प्रोग्राम

बाइनरी से दशमलव में परिवर्तन 'जबकि' लूप का उपयोग करके पूरा किया गया था। हालाँकि, हम बाइनरी बिट्स को दशमलव संख्या में बदलने के लिए 'फॉर' लूप विधि का भी उपयोग कर सकते हैं।



#शामिल करें
#शामिल <स्ट्रिंग>

int यहाँ मुख्य ( ) {
कक्षा :: डोरी बिन ;
कक्षा :: अदालत << 'इनपुट बाइनरी नंबर:' ;
कक्षा :: खाना >> बिन ;

int यहाँ दिसम्बर = 0 ;
int यहाँ आधार है = 1 ;

के लिए ( int यहाँ = बिन. लंबाई ( ) - 1 ; >= 0 ; -- ) {
अगर ( बिन [ ] == '1' ) {
दिसम्बर + = आधार है ;
}
आधार है * = 2 ;
}

कक्षा :: अदालत << 'परिणाम दशमलव में:' << दिसम्बर << कक्षा :: अंतः ;

वापस करना 0 ;
}

यहां, हम मुख्य() फ़ंक्शन प्रोग्राम से शुरू करते हैं जहां हमारे पास 'std::string' वेरिएबल है जो प्रॉम्प्ट में उपयोगकर्ता द्वारा बाइनरी नंबर इनपुट को संग्रहीत करने के लिए 'बिन' है। प्रारंभ में, संकेत उपयोगकर्ता को 'काउट' कथन का उपयोग करके बाइनरी नंबर इनपुट करने के लिए कहेगा। फिर, 'cin' कमांड उस बाइनरी नंबर को पढ़ेगा। उसके बाद, हम दशमलव समतुल्य प्राप्त करने के लिए 'dec' वेरिएबल को '0' के मान के साथ और 'baseIs' वेरिएबल को '1' के मान के साथ प्रारंभ करते हैं।

फिर, हम एक 'फॉर' लूप कहते हैं जो निर्दिष्ट बाइनरी के प्रत्येक नंबर पर दाएं से बाएं ओर लूप करता है। लूप के भीतर, हमारे पास यह सत्यापित करने के लिए एक 'if' शर्त है कि बाइनरी संख्या 1 है या नहीं। यदि यह 1 है, तो दशमलव मान 'dec' वेरिएबल में जोड़ा जाता है। 'बेसआईज़' वेरिएबल में प्रत्येक पुनरावृत्ति पर 1 से गुणा करने के लिए 2 की शक्ति है।

बाइनरी संख्या का मान और दशमलव मान में उसका रूपांतरण प्रॉम्प्ट स्क्रीन पर दिखाया गया है:

उदाहरण 3: बाइनरी स्ट्रिंग से दशमलव तक का प्रोग्राम

बाइनरी स्ट्रिंग मान को अब इसके मान को दशमलव मान में बदलने के लिए परिभाषित किया गया है। बाइनरी स्ट्रिंग मान को दशमलव मान में बदलने के लिए निम्नलिखित कार्यान्वयन किया जाता है:

#शामिल करें
#शामिल <स्ट्रिंग>
का उपयोग करते हुए नाम स्थान कक्षा ;

int यहाँ बिनटूडेक ( स्ट्रिंग वैल )
{
स्ट्रिंग वैल्यू = वैल ;
int यहाँ दशमलव_मान = 0 ;

int यहाँ आधार_मूल्य = 1 ;

int यहाँ केवल = कीमत। लंबाई ( ) ;
के लिए ( int यहाँ एम = केवल - 1 ; एम >= 0 ; एम -- ) {
अगर ( वैल [ एम ] == '1' )
दशमलव_मान + = आधार_मूल्य ;
आधार_मूल्य = आधार_मूल्य * 2 ;
}

वापस करना दशमलव_मान ;
}

int यहाँ मुख्य ( )
{
स्ट्रिंग वैल = '11100101' ;
अदालत << बिनटूडेक ( वैल ) << अंतः ;
}

यहां, हम बाइनरी अंकों को दशमलव मानों में बदलने के लिए एक BinToDec() फ़ंक्शन बनाना शुरू करते हैं। BinToDec() फ़ंक्शन स्ट्रिंग प्रकार का 'वैल' तर्क लेता है। BinToDec() फ़ंक्शन के भीतर, हम 'वैल्यू' वेरिएबल को 'वैल' वेरिएबल के साथ आरंभ करते हैं जो दर्शाता है कि 'वैल' वेरिएबल का मान 'वैल्यू' वेरिएबल में संग्रहीत किया जाएगा। फिर, हम एक नया वेरिएबल, 'दशमलव_मान' घोषित करते हैं, जिसे 0 के मान के साथ निर्दिष्ट किया गया है।

इसी तरह, 'बेस_वैल्यू' वेरिएबल को 1 के मान के साथ सेट और आरंभ किया जाता है। इसके बाद, हम 'लेन' वेरिएबल को परिभाषित करते हैं जहां बाइनरी नंबर की लंबाई प्राप्त करने के लिए लेंथ () फ़ंक्शन को कॉल किया जाता है। वेरिएबल के आरंभीकरण के बाद, हमारे पास 'फॉर' लूप पुनरावृत्ति है। 'फॉर' लूप प्रत्येक बाइनरी संख्या अंक को दाएं से बाएं ओर दोहराता है।

उसके बाद, हमारे पास एक मुख्य() फ़ंक्शन है जहां बाइनरी नंबर को 'वैल' वेरिएबल के लिए एक स्ट्रिंग मान के रूप में निर्दिष्ट किया जाता है जिसे दशमलव मान में परिवर्तित किया जाता है क्योंकि हम 'काउट' कमांड के साथ बिनटूडेक (वैल) फ़ंक्शन को कॉल करते हैं।

स्ट्रिंग-प्रकार का बाइनरी मान अब दशमलव मान में परिवर्तित हो गया है जैसा कि निम्नलिखित में दिखाया गया है:

उदाहरण 4: बिटसेट क्लास का उपयोग करके बाइनरी से दशमलव तक का प्रोग्राम

इसके अतिरिक्त, हम प्रोग्राम में C++ के 'बिटसेट' वर्ग को परिभाषित करके बाइनरी संख्या को दशमलव संख्या में परिवर्तित कर सकते हैं। यह ऐसे फ़ंक्शन प्रदान करता है जिनके माध्यम से रूपांतरण प्रक्रिया बहुत सरल है।

#शामिल करें
#<बिटसेट> शामिल करें

int यहाँ मुख्य ( ) {
कक्षा :: डोरी बाइनरीआई.एस ;
कक्षा :: अदालत << 'कृपया बाइनरी नंबर प्रदान करें:' ;
कक्षा :: खाना >> बाइनरीआई.एस ;

कक्षा :: बिटसेट < 64 > द्विआधारी ( बाइनरीआई.एस ) ;
अहस्ताक्षरित लंबा दशमलव संख्या = बाइनरी. बहुत लंबा ( ) ;

कक्षा :: अदालत << 'दशमलव संख्या: ' << दशमलव संख्या << कक्षा :: अंतः ;

वापस करना 0 ;
}

यहां, हमने हेडर में C++ की 'बिटसेट' लाइब्रेरी सेट की है जो बाइनरी मानों के साथ काम करते समय बहुत उपयोगी है। इसके बाद, हमारे पास एक मुख्य() फ़ंक्शन परिभाषा है जहां हम 'बाइनरीआई' वेरिएबल घोषित करने के लिए 'std::string' का उपयोग करते हैं। 'बाइनरीआईज़' वेरिएबल स्ट्रिंग में बाइनरी के मान को संग्रहीत करता है। इसके बाद, हम उपयोगकर्ता से प्रॉम्प्ट में बाइनरी नंबर जोड़ने के लिए कहते हैं और इसे 'सिन' कमांड के माध्यम से पढ़ा जाता है। इसके बाद, हम बिट्स के आकार को समायोजित करते हैं जो 64 बिट पूर्णांक हो सकता है। फिर, to_ulong() फ़ंक्शन को 'बिटसेट' वर्ग से 'दशमलव संख्या' चर में कॉल किया जाता है। To_ulong() फ़ंक्शन बिट्स के सेट को अहस्ताक्षरित लंबे डेटा प्रकार में परिवर्तित करता है। अंत में, हम उपयोगकर्ता द्वारा दिए गए बाइनरी मान के दशमलव मान को प्रिंट करने के लिए 'काउट' कमांड का उपयोग करते हैं।

उपयोगकर्ता द्वारा प्रदान किया गया बाइनरी मान अब दशमलव मान में परिवर्तित हो गया है:

निष्कर्ष

अंत में, हमने बाइनरी मान को दशमलव मान में बदलने की विधियों को कवर किया। हमने दशमलव में बाइनरी रूपांतरण के लिए 'फॉर' लूप, 'व्हाइल' लूप और बिटसेट क्लास दृष्टिकोण का उपयोग किया। ये दृष्टिकोण द्विआधारी संख्याओं को दशमलव प्रणाली में बदल देते हैं जिससे पढ़ने और समझने में सुविधा होती है।