ホームページ  >  記事  >  バックエンド開発  >  以下を中国語に翻訳します: 再帰を使用して C プログラムでバイナリをグレー コードに変換します

以下を中国語に翻訳します: 再帰を使用して C プログラムでバイナリをグレー コードに変換します

PHPz
PHPz転載
2023-09-12 17:53:02642ブラウズ

以下を中国語に翻訳します: 再帰を使用して C プログラムでバイナリをグレー コードに変換します

2 進数は、0 と 1 の 2 桁だけからなる数値です。

グレイ コードは、特別なタイプの 2 進数であり、その特性は、 コード em> の連続する 2 桁が 1 桁を超えて異なってはならないということです。グレイ コードのこの特性により、K マップ、エラー修正、通信などでグレイ コードがさらに便利になります。

これにより、バイナリからグレイ コードへの変換が必要になります。それでは、 バイナリをグレイ コード に変換するアルゴリズムを見てみましょう。 再帰を使用します

グレイ コード コードを例として見てみましょう

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

以上が以下を中国語に翻訳します: 再帰を使用して C プログラムでバイナリをグレー コードに変換しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。