एक इनपुट के रूप में एक बाइनरी नंबर के साथ दिया गया, कार्य दिए गए बाइनरी नंबर को एक दशमलव संख्या में बदलना है।
कंप्यूटर में दशमलव संख्या को आधार 10 के साथ दर्शाया जाता है और बाइनरी संख्या को आधार 2 के साथ दर्शाया जाता है क्योंकि इसमें केवल दो बाइनरी अंक 0 और 1 होते हैं जबकि दशमलव संख्या 0 - 9 से शुरू होने वाली कोई भी संख्यात्मक अंक हो सकती है।
एक बाइनरी संख्या को दशमलव संख्या में बदलने के लिए हम शेष से दाएं से बाएं से शुरू होने वाले अंकों को निकालेंगे और फिर इसे 0 से शुरू होने वाले 2 की शक्ति से गुणा करेंगे और 1 से (अंकों की संख्या) तक बढ़ाएंगे - 1 और के साथ जो अंतिम दशमलव मान प्राप्त करने के लिए गुणा किए गए मानों को जोड़ते रहते हैं।
नीचे एक बाइनरी नंबर को दशमलव संख्या में बदलने का सचित्र प्रतिनिधित्व है।
उदाहरण
Input-: 1010 0 will be converted to a decimal number by -: 0 X 2^0 = 0 1 have corresponding binary equivalent of 3 digit -: 1 X 2^1 = 2 0 have corresponding binary equivalent of 3 digit -: 0 X 2^2 = 0 1 have corresponding binary equivalent of 3 digit -: 1 X 2^3 = 8 Output-: total = 0 + 2 + 0 + 8 = 10
एल्गोरिदम
Start Step1-> Declare function to convert binary to decimal int convert(string str) set string n = str set int val = 0 set int temp = 1 set int len = n.length() Loop For int i = len - 1 i >= 0 i— IF n[i] == '1' Set val += temp End Set temp = temp * 2 End return val Step 2-> In main() Set string val = "11101" Call convert(val) Stop
उदाहरण
#include <iostream> #include <string> using namespace std; //convert binary to decimal 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<<" after converion into deciaml : "<<convert(val); }
आउटपुट
अगर हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा
11101 after converion into deciaml : 29