একটি ইনপুট হিসাবে একটি বাইনারি সংখ্যার সাথে দেওয়া, কাজটি হল প্রদত্ত বাইনারি সংখ্যাটিকে দশমিক সংখ্যায় রূপান্তর করা।
কম্পিউটারে দশমিক সংখ্যাকে বেস 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