加重および非加重コーディングとは何ですか?

抽象バイナリコードの背景

加重コーディングは、バイナリ変換に役立ちます。

画像クレジット: leszekglasner / iStock /ゲッティイメージズ

コンピュータやその他の電子機器の内部にあるデジタル回路は、オンとオフの2つの概念を介してのみ通信できます。 これらの概念は、0がオフで、1がオンの2進数の形式で表されます。 コンピューターと真に通信するには、コンピューター言語をより人間的な形式にするために、さらに変換する必要があります。 変換プロセスの最初のステップは、バイナリコーディングをより読みやすい10進法に変換することです。 加重および非加重コーディングとは、2進数を10進数に変換する方法を指します。 加重コーディングでは、数値の各桁に、変換前に加重値が割り当てられます。 重み付けされていないコーディング方法では、わずかに異なる式が使用されますが、重み値なしで変換が実行されます。

加重コーディングを理解する前に、まず記数法と位取り記数法を理解する必要があります。

今日のビデオ

ナンバリングシステム

記数法は基数で示されます。基数は、別の桁を追加する前に数えることができる最大の数です。 たとえば、私たち全員が子供として学ぶ記数法は基数10と呼ばれます。これは、0から9までのシーケンスの最初の10個の数字を1桁で数えることができるためです。 10になったら、すべてをシフトして、100になるまで2桁の数字で数え、次に3桁の数字で数える必要があります。 この10進法は、10進法とも呼ばれます。

位置表記

位置表記は、実数の各桁に右から左に位置値を割り当てるときに発生します。 たとえば、数値4782の場合、2から始まり、右から左に数えて、次のように位置は0、1、2、3になります。

4782 =数値3210 =位置の値

加重コーディング

上記の例では、位置割り当て0から3は、割り当てられた数字の加重値にすることができます。 したがって、4の重みは3で、7の重みは2です。 数値の重みは、任意の基数の記数法から10進数(基数10)の記数法に変換するときに関係します。 加重数を変換するための1つの式は、各桁にその底をその位置の累乗で乗算し、結果のすべての桁を加算することです。 以下の例では、2進数の基数2である100101が10進数(基数10)の数値に変換されます。

100101 = 2進数(2進数)543210 =位置の重み(1 x 2 ^ 5)+(0 x 2 ^ 4)+(0 x 2 ^ 3)+(1 x 2 ^ 2)+(0 x 2 ^ 1 )+(1 x 2 ^ 0)= 32 + 0 + 0 + 4 + 0 + 1 = 37 37base10 = 10進数変換

他の加重メソッドには、BCDと2421があり、それぞれが同様の式を使用して加重を割り当て、10進数に変換します。

非加重コーディング

グレイコードは、1つの10進数から次の10進数に移動するときに、2進数の1ビットだけを変更する非加重コーディング方法です。 通常のバイナリコーディングでは、数字の10は10進数の2を表します。 グレイコードを使用する場合、その2進数の1ビットが変更されるため、10進数2は2進数0011で表されます。 続いて、通常は2進数の0011で表される10進数の3が、1ビットしか変更できないため、0010に変換されます。

Excess-3は、​​もう1つの重み付けされていないコーディング方法であり、かつては古いコンピューターや加算機で使用されていました。 超過3の場合、2進数に変換する前に10進数に3を加算します。 したがって、たとえば10進数の2は、最初に3ずつ増加し、5になります。 Excess-3メソッドを使用した2のバイナリ変換は、通常のバイナリ値0010ではなく0101になります。