web-dev-qa-db-ja.com

自己補完コード(超過3、84-2-1、2 * 421)

「コンピュータの構成とアーキテクチャの概要」というテーマで「番号システム」からのトピックをここに持っています

それから私はこのトピックに出くわしました、「自己補完コード」

次の3つの部分があります。

i)Excess-3(BCDに3を追加する必要があるため、この部分を理解しています)

ii)84-2-1(わかりません)

iii)2 * 421(わかりません)

誰かがパートiiおよびiiiがどのように機能するかを誰かが説明してくれることを願っています。

どうもありがとう。

5
Beta Tracks

私は、Morris Manoの「デジタルデザイン」の本のこの部分があなたの質問に答えると思います。

BCDと2421コードは加重コードの例です。重み付けされたコードでは、各ビット位置に重み付け係数が割り当てられ、コード化された組み合わせのすべての1の重みを追加することで各桁を評価できます。

小数点以下4桁のバイナリコード
 _____________________________________________________________ 
10進数BCD 2421過剰‐3 8、4、-2、-18421
 _____________________________________________________________ 
 0 0000 0000 0011 0000 
 1 0001 0001 0100 0111 
 2 0010 0010 0101 0110 
 3 0011 0011 0110 0101 
 4 0100 0100 0111 0100 
 5 0101 1011 1000 1011 
 6 0110 1100 1001 1010 
 7 0111 1101 1010 1001 
 8 1000 1110 1011 1000 
 9 1001 1111 1100 1111 [.____。1101 1100 
諸国1110 1001 1110 1101 
 1111 1010 1111 1110 
 

2421、excess-3、84-2-1コードは自己補完コードの例です。このようなコードには、10進数の9の補数が、1を0に、0を1に変更することによって(つまり、パターンの各ビットを補うことによって)直接得られるという特性があります。たとえば、10進数の395は、超過3コードで0110 1100 1000として表されます。604の9の補数は、1001 0011 0111として表されます。これは、コードの各ビットを補うことで簡単に得られます)。

デジタルデザイン-第5版-モリス・マノ

7
Mehrshad

まず、84-2-1と2421のコードは「重み付けされたコード」と「自己補完コード」の両方です(コードが自己補完されるために必要な条件は、すべての重みの合計が9)、つまり84-2-1(8 + 4-2-1 = 9)および2421(2 + 4 + 2 + 1 = 9)。
そのため、1つのことを確認するために必要な数値の10進数に相当するバイナリを構築します。
数値のコードとその9の補数のコードは相補的な関係にある必要があります(つまり、数値とその9の補数のコードは互いに補数です)

たとえば、84-2-1システムを考えてみましょう。

10進数の0 = 0000(84-2-1システムの場合)および(0 = 9の9の補数)は9(84-2-1の場合)よりも1111になるはずです。したがって、0とその9の補数、つまり9は自己補数の関係を維持します。 。

別の例を見てみましょう:

10進数の1 = 0111(84-2-1システムの場合)&(9の1 = 8の補数)は、(84-2-1)の8に相当する値が1000であることを意味します。したがって、数とその補数は自己補完を維持します。関係。

同様に、2421システムの場合と同様に、数値とその9の補数が自己補完関係を維持していることを確認して、コードを作成する必要があります。

4
Abhishek