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

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

PHPz
リリース: 2023-09-12 17:53:02
転載
711 人が閲覧しました

以下を中国語に翻訳します: 再帰を使用して 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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート