একটি দশমিক সংখ্যাকে তার বাইনারি রূপে রূপান্তর করা যায়। একটি দশমিক সংখ্যা বাইনারি সংখ্যায় রূপান্তর করতে, সংখ্যাটিকে ২ দিয়ে ভাগ করতে হবে যতক্ষণ না সেটি ০ বা ১ হয়। এবং প্রতিটি ধাপে অবশিষ্টাংশ আলাদা সংরক্ষণ করে বাইনারি সমতুল্য সংখ্যা উল্টো ক্রমে তৈরি করা হয়।
এই অ্যালগরিদমে, আমরা রিকার্সিভ পদ্ধতি অনুসরণ করব। এটি স্ট্যাক ডেটা স্ট্রাকচার ছাড়া সমস্যা সমাধান করতে সাহায্য করে। বাস্তবায়নে, আমরা জানি যে একটি ফাংশনের রিকার্শন অভ্যন্তরীণ স্ট্যাক অনুসরণ করে। আমরা সেই স্ট্যাক ব্যবহার করে আমাদের কাজ সম্পন্ন করব।
ইনপুট এবং আউটপুট
ইনপুট: দশমিক সংখ্যা ৫৬ আউটপুট: বাইনারি সমতুল্য: 111000
অ্যালগরিদম
decToBin(decimal)
ইনপুট: দশমিক সংখ্যা।
আউটপুট: বাইনারি সমতুল্য স্ট্রিং।
শুরু
যদি decimal = 0 অথবা 1, তবে
decimal কে বাইনারি স্ট্রিং-এ প্রবেশ করান
ফেরত দিন
decToBin(decimal / 2)
(decimal mod 2) কে বাইনারি স্ট্রিং-এ প্রবেশ করান।
শেষউদাহরণ
#include<iostream> using namespace std; void decToBin(int dec) { if(dec == 1 || dec == 0) { cout << dec; //dec হিসেবে 0 বা 1 প্রিন্ট করুন return; } decToBin(dec/2); //সংখ্যাকে ২ দিয়ে ভাগ করুন এবং আবার দশমিক খুঁজুন cout << dec % 2; //ফেরত আসার পর মানটি উল্টো ক্রমে প্রিন্ট করুন } main() { int dec; cout<<"Enter decimal number: "; cin >> dec; cout << "Binary Equivalent: "; decToBin(dec); }আউটপুট
Enter decimal number: 56 Binary Equivalent: 111000