এই সমস্যায়, আমরা দেখব কিভাবে স্ট্যাক ব্যবহার করে দশমিক সংখ্যাকে বাইনারি সংখ্যায় রূপান্তর করা যায়। আমরা জানি যে দশমিক সংখ্যাগুলিকে 2 দ্বারা ভাগ করে অবশিষ্টাংশ নেওয়ার পরে বাইনারি ব্যবহার করে রূপান্তর করা যায়। আমরা শেষ থেকে প্রথম পর্যন্ত অবশিষ্ট নিই, তাই আমরা সহজেই স্ট্যাক ডেটা স্ট্রাকচার ব্যবহার করতে পারি।
Input: Decimal number 13 Output: Binary number 1101
অ্যালগরিদম
Step 1: Take a number in decimal Step 2: while the number is greater than 0: Step 2.1: Push the remainder after dividing the number by 2 into stack. Step 2.2: set the number as number / 2. Step 3: Pop elements from stack and print the binary number
উদাহরণ কোড
#include<iostream>
#include<stack>
using namespace std;
void dec_to_bin(int number) {
stack<int> stk;
while(number > 0) {
int rem = number % 2; //take remainder
number = number / 2;
stk.push(rem);
}
while(!stk.empty()) {
int item;
item = stk.top();
stk.pop();
cout << item;
}
}
main() {
int num;
cout << "Enter a number: ";
cin >> num;
dec_to_bin(num);
} আউটপুট
Enter a number: 18 10010