Digital-circuits-codes

提供:Dev Guides
移動先:案内検索

デジタル回路-コード

コーディングでは、数字または文字が特定の記号グループによって表される場合、その数字または文字がエンコードされていると言われます。 シンボルのグループは code と呼ばれます。 デジタルデータはビットのグループとして表され、保存され、送信されます。 このビットのグループは、*バイナリコード*とも呼ばれます。

バイナリコードは2つのタイプに分類できます。

  • 加重コード
  • 重み付けされていないコード

コードに位置の重みがある場合、それは*重み付きコード*と呼ばれます。 それ以外の場合は、重みのないコードです。 重み付きコードは、正の重み付きコードと負の重み付きコードにさらに分類できます。

10進数のバイナリコード

次の表に、10進数0〜9のさまざまなバイナリコードを示します。

Decimal Digit 8421 Code 2421 Code 84-2-1 Code Excess 3 Code
0 0000 0000 0000 0011
1 0001 0001 0111 0100
2 0010 0010 0110 0101
3 0011 0011 0101 0110
4 0100 0100 0100 0111
5 0101 1011 1011 1000
6 0110 1100 1010 1001
7 0111 1101 1001 1010
8 1000 1110 1000 1011
9 1001 1111 1111 1100

10進数システムでは10桁です。 これらの10桁を2進数で表すには、最低4ビットが必要です。 ただし、4ビットでは、ゼロと1の16の一意の組み合わせがあります。 小数点以下10桁しかないため、ゼロと1の他の6つの組み合わせは必要ありません。

8 4 2 1コード

  • このコードの重みは、8、4、2、および1です。
  • このコードにはすべて正の重みがあります。 したがって、これは*正に重み付けされたコード*です。
  • このコードは natural BCD (Binary Coded Decimal) code とも呼ばれます。

10進数786に相当するBCDを見つけましょう。 この番号には、3桁の10進数7、8、6があります。 表から、7、8、および6のBCD(8421)コードは、それぞれ0111、1000、および0110であると記述できます。

∴(786)〜10〜=(011110000110)〜BCD〜

10進数の各BCDコードには4ビットがあるため、BCD表現には12ビットがあります。

2 4 2 1コード

  • このコードの重みは、2、4、2、および1です。
  • このコードにはすべて正の重みがあります。 したがって、これは*正に重み付けされたコード*です。
  • これは*不自然なBCD *コードです。 不自然なBCDコードの重みの合計は9です。
  • これは、*自己補完*コードです。 自己補完コードは、同等の2421表現で1と0を交換するだけで、10進数の9の補数を提供します。

10進数786に相当する2421を見つけましょう。 この番号には、3桁の10進数7、8、6があります。 テーブルから、7、8、6の2421コードをそれぞれ1101、1110、1100と書くことができます。

したがって、10進数786に相当する2421は 110111101100 です。

8 4 -2-1のコード

  • このコードの重みは8、4、-2、-1です。
  • このコードには、正の重みとともに負の重みがあります。 したがって、これは*負の重み付きコード*です。
  • これは*不自然なBCD *コードです。
  • これは、*自己補完*コードです。

10進数786に相当する8 4-2-1を見つけましょう。 この番号には、3桁の10進数7、8、6があります。 表から、7、8、および6の8 4 -2 -1コードをそれぞれ1001、1000、および1010と書くことができます。

したがって、10進数786に相当する8 4 -2 -1は 100110001010 です。

余分な3コード

  • このコードには重みはありません。 したがって、これは*重みのないコード*です。
  • 10進数の2進数に3(0011)を追加して、10進数の超過3コードを取得します。 したがって、Excess 3コードと呼ばれます。
  • これは、*自己補完*コードです。

10進数786に相当する超過3を見つけましょう。 この番号には、3桁の10進数7、8、6があります。 テーブルから、7、8、および6の超過3コードは、それぞれ1010、1011、および1001と書くことができます。

したがって、10進数786に相当する超過3は 101010111001 です。

グレーコード

次の表に、各4ビットバイナリコードに対応する4ビットグレイコードを示します。

Decimal Number Binary Code Gray Code
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
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
  • このコードには重みはありません。 したがって、これは*重みのないコード*です。
  • 上記の表では、連続するグレイコードは1ビット位置のみが異なります。 したがって、このコードは「ユニット距離」コードと呼ばれます。

バイナリコードからグレーコードへの変換

バイナリコードを同等のグレーコードに変換するには、次の手順に従います。

  • 指定されたバイナリコードを考慮し、MSBの左側にゼロを配置します。
  • ゼロから始まる連続する2ビットを比較します。 2ビットが同じ場合、出力はゼロになります。 それ以外の場合、出力は1です。
  • グレイコードのLSBが取得されるまで、上記の手順を繰り返します。

この表から、バイナリコード1000に対応するグレイコードは1100であることがわかります。 次に、上記の手順を使用して検証します。

与えられた、バイナリコードは1000です。

  • ステップ1 *-MSBの左側にゼロを配置すると、バイナリコードは01000になります。

ステップ2 *-連続する2ビットの新しいバイナリコードを比較することにより、グレーコードを *1100 として取得します。