2012-03-24 16 views
0

https://electronics.stackexchange.com/questions/20537/how-to-identify-self-complementing-code自己完了コードが

私は

は、しかし、それは、数は9から減算する必要があることが必要である、正しく読んだことが?

ため 12 = 1100

8421システムでは、我々は15-12を引く場合、答えは0011である、3です。

私は与えられた番号がどの番号から減算する必要がある、ということを理解していないので、それはまた、自己が...

を補完され、その数のneccessaryは9になることです?

答えて

0

ベース-10のための自己相補コードは、与えられた符号化された桁D [0-9] 9-D、9の補数をもたらすの補数のコードです。

Base-10の数値をバイナリでエンコードするには、10ビットの値[0-9]を表現できる必要があります。これは、3ビットが8ビットの値で十分でないため4ビットが必要であることを意味します。 4ビットは16個の値を表すことができますが、これは必要以上のものですが、分数ビットはありません。

これらの4ビットには多くの符号化方式があり、最も直感的なのは8-4-2-1方式または10進値のストレートバイナリ符号化です。 8-4-2-1を使用して12をエンコードするには、[1]と[2]をそれぞれのバイナリ表現[0001]と[0010]として別々にエンコードします。

9の補数は、10進数/ 10進数を符号化するときに必要な最大値であるため、10進数の2進符号化に関連します。

この例では、9の補数ではなく15の補数を正しく生成しているBase-16を10進数で表示しています。 8-4-2-1は直観的にBase-16の自己補完コードです。なぜなら、4桁の2進数の補数を15から引くと同じであるからです。

Base-16では同じことが言えません。なぜなら、4桁の2進数で10進数を表現するための自己補完コードを生成するためにより複雑なシステムが考案されているからです。

表13.1ここで、[http://www.inf.fu-berlin.de/lehre/WS00/19504-V/Chapter1.pdf]は、10進符号化のための2つの自己補完符号、すなわち8,4、-2、-1および3を超える符号化方式を示し、後続の節では、コードを補完する。

0

明確化のためにいくつかの言い換え: はIIRCそれが可視数が9から減算される場合、コーディングの「数」はビット反転であることを意味し、すなわち、一つは、例えば、コードすることができる15

から差し引きます0 = 0011,1 = 0100,2 = 0101、...、9 = 1100(いわゆる超過3、詳細はmodiの回答を参照)

1

重みの合計が9の場合、自己補完 例えば、5211 =(5 + 2 + 1 + 1)= 9または2421 =(2 + 4 + 2 + 1)= 9 8421は自己補完ではないので、8421!= 9。

関連する問題