logo

グレーコード

グレーコード は 2 進数システムのシーケンスであり、としても知られています。 反映されたバイナリコード 。このコードを反映バイナリ コードと呼ぶ理由は、最初の N/2 値と最後の N/2 値を逆の順序で比較するためです。このコードでは、2 つの連続する値は 2 進数の 1 ビットだけ異なります。グレイ コードは、ハードウェアが生成する 2 進数の一般的なシーケンスで使用されます。これらの数値は、ある数値から次の数値に移行するときにあいまいさまたはエラーを引き起こします。このコードは、数値間の遷移が行われるときに 1 ビットだけを変更することで、この問題を単純に解決します。

グレイ コードは、位置で指定された桁の値に依存しないため、非常に軽量なコードです。このコードは、1 つの値から次の値への遷移で 1 ビットのみの変化が生じるため、循環変数コードとも呼ばれます。

グレイコードを生成するにはどうすればよいですか?

プレフィックスとリフレクト メソッドは、数値のグレイ コードを生成するために再帰的に使用されます。グレイコードを生成するには:

  1. 数値を表現するために必要なビット数を求めます。
  2. 次に、0 のコード、つまり 0000 を見つけます。これは 2 進数と同じです。
  3. ここで、前のコード、つまり 0000 を取得し、その最上位ビットを変更します。
  4. すべてのコードが一意に識別されなくなるまで、このプロセスを隠蔽的に実行します。
  5. 最上位ビットを変更して、以前に取得したのと同じコードが見つかった場合は、2 番目の最上位ビットが変更されます。
グレーコード

グレイコード生成のプロセス

グレーコード

グレイコード表

10進数 2進数 グレーコード
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
10 1010 1111
十一 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000