एक बाइनरी संख्या इनपुट के रूप में दी गई है, कार्य दी गई बाइनरी संख्या को डेसिमल संख्या में बदलना है।
कंप्यूटर में डेसिमल संख्या को आधार 10 के साथ दर्शाया जाता है और बाइनरी संख्या को आधार 2 के साथ दर्शाया जाता है क्योंकि इसमें केवल दो बाइनरी अंक 0 और 1 होते हैं जबकि डेसिमल संख्याएं 0-9 से शुरू होने वाला कोई भी संख्यात्मक अंक हो सकती हैं।
बाइनरी संख्या को डेसिमल संख्या में बदलने के लिए हम शेषफल के माध्यम से दाएं से बाएं अंक निकालेंगे और फिर इसे 2 की घात से गुणा करेंगे जो 0 से शुरू होती है और (अंकों की संख्या) - 1 तक 1 से बढ़ती है और इसके साथ गुणा किए गए मानों को जोड़कर अंतिम डेसिमल मान प्राप्त करेंगे।
बाइनरी संख्या को डेसिमल संख्या में बदलने का चित्रात्मक प्रतिनिधित्व नीचे दिया गया है।

उदाहरण
इनपुट-: 1010 0 को डेसिमल संख्या में इस प्रकार बदलेंगे -: 0 X 2^0 = 0 1 का संबंधित बाइनरी समतुल्य 3 अंकों का है -: 1 X 2^1 = 2 0 का संबंधित बाइनरी समतुल्य 3 अंकों का है -: 0 X 2^2 = 0 1 का संबंधित बाइनरी समतुल्य 3 अंकों का है -: 1 X 2^3 = 8 आउटपुट-: कुल = 0 + 2 + 0 + 8 = 10
एल्गोरिदम
शुरुआत चरण 1-> बाइनरी से डेसिमल रूपांतरण के लिए फ़ंक्शन घोषित करें int convert(string str) string n = str सेट करें int val = 0 सेट करें int temp = 1 सेट करें int len = n.length() सेट करें लूप लिए int i = len - 1 i >= 0 i-- यदि n[i] == '1' val += temp सेट करें समाप्त temp = temp * 2 सेट करें समाप्त val वापस करें चरण 2-> main() में string val = "11101" सेट करें convert(val) कॉल करें रुकें
उदाहरण
#include <iostream> #include <string> using namespace std; //बाइनरी से डेसिमल रूपांतरण int convert(string str) { string n = str; int val = 0; int temp = 1; int len = n.length(); for (int i = len - 1; i >= 0; i--) { if (n[i] == '1') val += temp; temp = temp * 2; } return val; } int main() { string val = "11101"; cout<<val<<" डेसिमल में रूपांतरण के बाद: "<<convert(val); } आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा
11101 डेसिमल में रूपांतरण के बाद: 29