Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C प्रोग्राम: रिकर्सन का उपयोग करके बाइनरी को ग्रे कोड में बदलें

बाइनरी और ग्रे कोड क्या है?

बाइनरी संख्या केवल दो बिट्स (0 और 1) से बनी होती है।

ग्रे कोड एक विशेष बाइनरी कोडिंग प्रणाली है जहां दो क्रमागत संख्याएं केवल एक बिट से भिन्न होती हैं। यह गुण K-मैप्स, त्रुटि सुधार और संचार प्रणालियों में उपयोगी होता है।

उदाहरण

इनपुट: 1001
आउटपुट: 1101

रिकर्सिव एल्गोरिदम

  1. इनपुट n लें
  2. यदि n = 0, तो ग्रे = 0 लौटाएं
  3. अंतिम दो बिट्स जांचें:
    • यदि विपरीत हैं (0 और 1 या 1 और 0): ग्रे = 1 + 10 * binaryGrayConversion(n/10)
    • यदि समान हैं: ग्रे = 10 * binaryGrayConversion(n/10)
  4. ग्रे कोड प्रिंट करें

C++ प्रोग्राम

#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 << "बाइनरी संख्या है: " << binary_number << endl;
    cout << "ग्रे कोड रूपांतरण है: " << binaryGrayConversion(binary_number);
    return 0;
}

आउटपुट

बाइनरी संख्या है: 100110001
ग्रे कोड रूपांतरण है: 110101001

ग्रे कोड का गणितीय सूत्र

ग्रे कोड प्राप्त करने का एक सरल गणितीय तरीका:

ग्रे = बाइनरी ^ (बाइनरी >> 1)

यह बिटवाइज़ ऑपरेशन अधिक कुशल है और पूर्णांकों के लिए सीधे काम करता है।

अनुप्रयोग

  • कार्नो मानचित्र (K-maps) सरलीकरण
  • डिजिटल संचार में त्रुटि पहचान
  • रोटरी एनकोडर्स
  • आनुवंशिक एल्गोरिदम
  1. - जावास्क्रिप्ट में पुनरावर्तन का उपयोग करके दशमलव से बाइनरी रूपांतरण

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहली और एकमात्र तर्क के रूप में एक संख्या लेता है। फ़ंक्शन को उस संख्या के बाइनरी संकेतन को दर्शाने वाली स्ट्रिंग बनाने के लिए पुनरावर्तन का उपयोग करना चाहिए।उदाहरण के लिए -f(4) = 100 f(1000) = 1111101000 f(8) = 1000उदाहरणनिम्नलिखित कोड है -= 1) { //

  1. C प्रोग्राम: रिकर्सन का उपयोग करके जांचें कि सरणी पैलिंड्रोम है या नहीं C प्रोग्राम: रिकर्सन का उपयोग करके जांचें कि सरणी पैलिंड्रोम है या नहीं

    पैलिंड्रोम सरणी एक सरणी पैलिंड्रोम होती है यदि यह आगे और पीछे से समान पढ़ी जाए। उदाहरण: {1, 2, 3, 2, 1} ✓, {1, 0, 0, 1} ✓, {1, 2, 3, 4} ✗ रिकर्सिव दृष्टिकोण आधार मामला: यदि = end → पैलिंड्रोम (true) जांच: यदि arr[start] != arr[end] → पैलिंड्रोम नहीं (false) रिकर्सन: start+1 और end-1 के साथ कॉल करे

  1. - रिकर्सन का उपयोग करके स्ट्रिंग को रिवर्स करने के लिए Python प्रोग्राम

    जब रिकर्सन तकनीक का उपयोग करके स्ट्रिंग को रिवर्स करने की आवश्यकता होती है, तो रिकर्सन के साथ एक यूज़र-डिफाइंड मेथड का उपयोग किया जाता है।रिकर्सन बड़ी समस्या के छोटे-छोटे टुकड़ों का आउटपुट कंप्यूट करता है, और इन टुकड़ों को बड़ी समस्या का समाधान देने के लिए जोड़ता है।उदाहरणइसके लिए एक प्रदर्शन नीचे द