बाइनरी और ग्रे कोड क्या है?
बाइनरी संख्या केवल दो बिट्स (0 और 1) से बनी होती है।
ग्रे कोड एक विशेष बाइनरी कोडिंग प्रणाली है जहां दो क्रमागत संख्याएं केवल एक बिट से भिन्न होती हैं। यह गुण K-मैप्स, त्रुटि सुधार और संचार प्रणालियों में उपयोगी होता है।
उदाहरण
इनपुट: 1001 आउटपुट: 1101
रिकर्सिव एल्गोरिदम
- इनपुट
nलें - यदि
n = 0, तो ग्रे = 0 लौटाएं - अंतिम दो बिट्स जांचें:
- यदि विपरीत हैं (0 और 1 या 1 और 0):
ग्रे = 1 + 10 * binaryGrayConversion(n/10) - यदि समान हैं:
ग्रे = 10 * binaryGrayConversion(n/10)
- यदि विपरीत हैं (0 और 1 या 1 और 0):
- ग्रे कोड प्रिंट करें
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) सरलीकरण
- डिजिटल संचार में त्रुटि पहचान
- रोटरी एनकोडर्स
- आनुवंशिक एल्गोरिदम