Maison > Article > développement back-end > Traduisez ce qui suit en chinois : Convertissez le binaire en code gray dans un programme C en utilisant la récursivité
Les nombres binaires sont des nombres comportant seulement deux chiffres 0 et 1.
Le code Gray est un type spécial de nombre binaire dont la propriété est que deux nombres consécutifs du code ne peuvent pas différer de plus d'un chiffre. Cette propriété du code Gray le rend plus utile dans la K-map, la correction d'erreurs, la communication, etc. em>
Cela rend nécessaire la conversion du code binaire en Gray. Alors, regardons l'algorithme pour convertir lebinaire en code gris Utilisez la récursivité.
ExemplePrenons le code gris comme exempleInput : 1001 Output : 1101Algorithme
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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!