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é

Traduisez ce qui suit en chinois : Convertissez le binaire en code gray dans un programme C en utilisant la récursivité

PHPz
PHPzavant
2023-09-12 17:53:02640parcourir

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 le

binaire en code gris Utilisez la récursivité.

Exemple

Prenons le code gris comme exemple

Input : 1001
Output : 1101

Algorithme

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.

Exemple

#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;
}

Sortie

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer