बाइनरी नंबर एक ऐसी संख्या है जिसमें केवल दो बिट 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