কম্পিউটার

সি প্রোগ্রামে রিকারসন ব্যবহার করে বাইনারি থেকে গ্রে কোড


একটি বাইনারি সংখ্যা হল এমন একটি সংখ্যা যার মাত্র দুটি বিট 0 এবং 1 আছে।

ধূসর কোড হল একটি বিশেষ ধরনের বাইনারি সংখ্যা যার একটি বৈশিষ্ট্য রয়েছে যা কোডের পরপর দুটি সংখ্যা এক বিটের বেশি ভিন্ন হতে পারে না। ধূসর কোডের এই বৈশিষ্ট্যটি এটিকে আরও কে-ম্যাপ, ত্রুটি সংশোধন, যোগাযোগ, ইত্যাদি দরকারী করে তোলে।

এটি বাইনারি থেকে ধূসর কোডে রূপান্তরকে প্রয়োজনীয় করে তোলে। সুতরাং, আসুন বাইনারী থেকে গ্রে কোডে রূপান্তর করার জন্য একটি অ্যালগরিদম দেখি পুনরাবৃত্তি ব্যবহার করে .

উদাহরণ

ধূসর কোড সহ

এর একটি উদাহরণ নেওয়া যাক
Input : 1001
Output : 1101

অ্যালগরিদম

Step 1 : Do with input n :
   Step 1.1 : if n = 0, gray = 0 ;
   Step 1.2 : if the last two bits are opposite,
      gray = 1 + 10*(go to step 1 passing n/10).
   Step 1.3 : if the last two bits are same,
      gray = 10*(go to step 1 passing n/10).
Step 2 : Print gray.
Step 3 : EXIT.

উদাহরণ

#include <iostream>
using namespace std;
int binaryGrayConversion(int n) {
   if (!n)
      return 0;
   int a = n % 10;
   int b = (n / 10) % 10;
   if ((a && !b) || (!a && b))
      return (1 + 10 * binaryGrayConversion(n / 10));
   return (10 * binaryGrayConversion(n / 10));
}
int main() {
   int binary_number = 100110001;
   cout<<"The binary number is "<<binary_number<<endl;
   cout<<"The gray code conversion is "<<binaryGrayConversion(binary_number);
   return 0;
}

আউটপুট

The binary number is 100110001
The gray code conversion is 110101001

  1. জাভাস্ক্রিপ্টে রিকারশন ব্যবহার করে দশমিক থেকে বাইনারি রূপান্তর

  2. একটি অ্যারে প্যালিনড্রোম কিনা বা পুনরাবৃত্তি ব্যবহার করছে না তা পরীক্ষা করার জন্য সি প্রোগ্রাম

  3. Recursion ব্যবহার করে একটি স্ট্যাকের বিপরীত করার জন্য পাইথন প্রোগ্রাম

  4. রিকার্সন ব্যবহার করে একটি স্ট্রিং রিভার্স করার জন্য পাইথন প্রোগ্রাম