FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

DIGITAL ELECTRONICS NOTESをやってみる (2. 符号に関するクイズ)

以下のデジタル回路の問題をやってみる。続き。

lancamentomerlo.my.canva.site

パリティビットは、2進コードの文字列の末尾に付加されるビットで、文字列中の値「1」を持つビットの数が偶数か奇数かを示すものである。 従って、パリティコードには偶数パリティと奇数パリティの2種類がある。

パリティビットの計算には、2進コード中の "1 "の値を持つビットの総数を数える。 "1"の数が奇数で、偶数パリティを使用する場合、パリティビットを1に設定し、パリティビットを含む「1」の総数が偶数になるようにする。 "1"の数が奇数で、奇数パリティを使用する場合、パリティビットは0に設定され、パリティビットを含む1の総数は奇数になるようにする。

パリティビットは、2進数の文字列のすべてのビットのXORを取ることによって計算される。 パリティビットは、最も単純な誤り検出符号として使用される。

    1. 与えられた2進文字列 111001に対して、適切な奇数パリティビットを計算してください。

与えられた2進文字列 111001は、4つの "1"を持っています。 奇数パリティを使用する場合、パリティビットを含むバイナリ文字列の「1」の総数は奇数である必要がある。 したがって、この文字列の奇数パリティビットは1である。

    1. 1の補数、2の補数とは何ですか?また、どこで使われているのですか?

2進数のすべてのビットを反転させ、1を0に、0を1にしたものを1の補数と呼ぶ。 例えば 2進数110010の1の補数は001101となる。

2進数の2の補数は、1進数の補数に1を足して得られる。 例えば 2進数110010の2の補数は、001101+1 = 001110となる。

2の補数は符号付き2進数の表現に使用される。また、2進数の引き算にも使用される。 1の補数は、2の補数を得るための中間ステップである。

    1. BCDコードとは何ですか、2進コードとどう違うのですか?10進数27のBCDコードと2進数コードはどうなりますか?

BCDとはBinary coded decimalの略で、10進数(0〜9)の任意の桁を表現できる4ビットの2進数コードである。 2進コードは10進数を2進数で表現したもので、2進コードに必要なビット数は10進数に依存することになる。 0から9までの10進数の場合、BCDも2進数コードも同じになる。

27という数字は、2と7を4ビットで表現することによりBCDで表現できる。 したがって、27のBCDは0010 0111となる。

    1. ウェイトコードとは何ですか?例を挙げてください。

ウェイトコードは、各ポジションに固定されたウェイトを持つことになる。 例えば、通常の2進法では、位置の値に位置の重みを掛けて加算することで10進数に相当する値を得ることができる。

    1. Excess-3コードの特長は何ですか?

自己補数型です。Excess-3の9の補数は、ビットを反転するだけで得られる。

    1. 非重み付け符号の例を挙げてください。

重みのある符号と異なり、重みを持たない符号である。 例えば、Excess-3符号やGray符号など。そのため、重みのない符号で表現された数値は、そのまま10進数に変換することはできない。