হেক্সাডেসিমাল নম্বর ইনপুট হিসেবে দেওয়া আছে, কাজটি হল সেই হেক্সাডেসিমাল নম্বরকে একটি বাইনারি নম্বরে কনভার্ট করা।
কম্পিউটারে হেক্সাডেসিমাল নম্বর বেস ১৬ দিয়ে রিপ্রেজেন্ট করা হয় এবং বাইনারি নম্বর বেস ২ দিয়ে রিপ্রেজেন্ট করা হয় কারণ এটিতে শুধু দুটি বাইনারি ডিজিট ০ এবং ১ থাকে, যেখানে হেক্সাডেসিমাল নম্বরে ০-১৫ পর্যন্ত ডিজিট থাকে যাতে ১০ কে A, ১১ কে B, ১২ কে C, ১৩ কে D, ১৪ কে E এবং ১৫ কে F হিসেবে রিপ্রেজেন্ট করা হয়।
হেক্সাডেসিমাল নম্বরকে বাইনারি নম্বরে কনভার্ট করতে প্রতিটি নম্বরকে এর ৪-বিট বাইনারি সমতুল্যে কনভার্ট করতে হবে এবং এরপর এই নম্বর গুলোকে কম্বাইন করে একটি সংশ্লিষ্ট বাইনারি নম্বর বানাতে হবে।
উদাহরণ
ইনপুট-: 123B
1-এর ৪ ডিজিট বাইনারি সমতুল্য -: 0001
2-এর ৪ ডিজিট বাইনারি সমতুল্য -: 0010
3-এর ৪ ডিজিট বাইনারি সমতুল্য -: 0011
B(11)-এর ৪ ডিজিট বাইনারি সমতুল্য -: 1011
আউটপুট-: 0001001000111011
অ্যালগরিদম
শুরু
স্টেপ ১ -> হেক্সাডেসিমাল থেকে বাইনারি নম্বরে কনভার্ট করার ফাংশন ডিক্লেয়ার করো
void convert(string hexa)
ভেরিয়েবল ডিক্লেয়ার করো long int i = 0
লুপ While(hexa[i])
Switch (hexa[i]) ব্যবহার করো
case '0': print "0000" break;
case '1': print "0001" break;
case '2': print "0010" break;
case '3': print "0011" break;
case '4': print "0100" break;
case '5': print "0101" break;
case '6': print "0110" break;
case '7': print "0111" break;
case '8': print "1000" break;
case '9': print "1001" break;
case 'A': case 'a': print "1010" break;
case 'B': case 'b': print "1011" break;
case 'C': case 'c': print "1100" break;
case 'D': case 'd': print "1101" break;
case 'E': case 'e': print "1110" break;
case 'F': case 'f': print "1111" break;
default: print please enter valid hexadecimal digit
এন্ড
i++
এন্ড
স্টেপ ২ -> main()-এ
string hexa = "123B" ডিক্লেয়ার করো
প্রিন্ট convert(hexa);
স্টপ
উদাহরণ (C++ কোড)
#include <bits/stdc++.h>
#include <string.h>
using namespace std;
// হেক্সাডেসিমাল থেকে বাইনারি নম্বরে কনভার্ট করো
void convert(string hexa) {
long int i = 0;
while (hexa[i]) {
switch (hexa[i]) {
case '0': cout << "0000"; break;
case '1': cout << "0001"; break;
case '2': cout << "0010"; break;
case '3': cout << "0011"; break;
case '4': cout << "0100"; break;
case '5': cout << "0101"; break;
case '6': cout << "0110"; break;
case '7': cout << "0111"; break;
case '8': cout << "1000"; break;
case '9': cout << "1001"; break;
case 'A': case 'a': cout << "1010"; break;
case 'B': case 'b': cout << "1011"; break;
case 'C': case 'c': cout << "1100"; break;
case 'D': case 'd': cout << "1101"; break;
case 'E': case 'e': cout << "1110"; break;
case 'F': case 'f': cout << "1111"; break;
default: cout << "\please enter valid hexadecimal digit " << hexa[i];
}
i++;
}
}
int main() {
string hexa = "123B";
cout << "\nEquivalent Binary value is : ";
convert(hexa);
return 0;
}
আউটপুট
Equivalent Binary value is : 0001001000111011