Maison > développement back-end > C++ > le corps du texte

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

PHPz
Libérer: 2023-09-12 17:53:02
avant
701 Les gens l'ont consulté

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
Copier après la connexion

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.
Copier après la connexion

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;
}
Copier après la connexion

Sortie

The binary number is 100110001
The gray code conversion is 110101001
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal