একটি কম্পিউটার সিস্টেমে, বাইনারি সংখ্যাকে বাইনারি সংখ্যা পদ্ধতিতে প্রকাশ করা হয় যখন দশমিক সংখ্যাটি দশমিক সংখ্যা পদ্ধতিতে থাকে। বাইনারি সংখ্যাটি বেস 2 এ রয়েছে এবং দশমিক সংখ্যাটি বেস 10 এ রয়েছে।
দশমিক সংখ্যার উদাহরণ এবং তাদের সংশ্লিষ্ট বাইনারি সংখ্যাগুলি নিম্নরূপ -
দশমিক সংখ্যা | বাইনারি নম্বর |
---|---|
10 | 01010 |
7 | 00111 |
25 | 11001 |
16 | 10000 | ৷
একটি প্রোগ্রাম যা বাইনারি সংখ্যাকে দশমিকে রূপান্তর করে এবং দশমিক সংখ্যাকে বাইনারিতে রূপান্তর করে।
উদাহরণ
#include <iostream> using namespace std; void DecimalToBinary(int n) { int binaryNumber[100], num=n; int i = 0; while (n > 0) { binaryNumber[i] = n % 2; n = n / 2; i++; } cout<<"Binary form of "<<num<<" is "; for (int j = i - 1; j >= 0; j--) cout << binaryNumber[j]; cout<<endl; } int BinaryToDecimal(int n) { int decimalNumber = 0; int base = 1; int temp = n; while (temp) { int lastDigit = temp % 10; temp = temp/10; decimalNumber += lastDigit*base; base = base*2; } cout<<"Decimal form of "<<n<<" is "<<decimalNumber<<endl;; } int main() { DecimalToBinary(23); BinaryToDecimal(10101); return 0; }
আউটপুট
Binary form of 23 is 10111 Decimal form of 10101 is 21
উপরে প্রদত্ত প্রোগ্রামে, DecimalToBinary এবং BinaryToDecimal দুটি ফাংশন রয়েছে। এগুলো যথাক্রমে দশমিক থেকে বাইনারি এবং বাইনারি থেকে দশমিকে রূপান্তর করে।
DecimalToBinary ফাংশনে, দশমিক সংখ্যা n-এর বাইনারি মান অ্যারে binaryNumber[]-এ সংরক্ষিত থাকে। একটি while লুপ ব্যবহার করা হয় এবং n মডুলাস 2 অপারেশনের ফলাফল লুপের প্রতিটি পুনরাবৃত্তির জন্য binaryNumber[] এ সংরক্ষণ করা হয়। এটি নিম্নলিখিত কোড স্নিপেট ব্যবহার করে দেখানো হয়েছে৷
৷while (n > 0) { binaryNumber[i] = n % 2; n = n / 2; i++; }
এর পরে, একটি ফর লুপ ব্যবহার করে বাইনারি সংখ্যা প্রদর্শিত হয়। এটি নিম্নরূপ দেখানো হয়েছে৷
cout<<"Binary form of "<<num<<" is "; for (int j = i - 1; j >= 0; j--) cout << binaryNumber[j];
ফাংশনে, BinaryToDecimal(), একটি while লুপ বাইনারি সংখ্যাকে দশমিক সংখ্যায় রূপান্তর করতে ব্যবহৃত হয়। LastDigit টেম্প ভেরিয়েবলের শেষ বিট ধারণ করে। বেসে ভিত্তি মান থাকে যেমন 2, 4, 6, 8 ইত্যাদি। DecimalNumber পূর্ববর্তী DecimalNumber মানের সমষ্টি এবং LastDigit এবং base এর গুণফল ধারণ করে।
এই সমস্ত নিম্নলিখিত কোড স্নিপেট -
ব্যবহার করে প্রদর্শিত হয়while (temp) { int lastDigit = temp % 10; temp = temp/10; decimalNumber += lastDigit*base; base = base*2; }
main() ফাংশনে, DecimalToBinary() এবং BinaryToDecimal() ফাংশন বলা হয়। এটি নিম্নরূপ দেখানো হয়েছে৷
DecimalToBinary(23); BinaryToDecimal(10101);