問題
例えば、元のデータが「1010100」という7ビットであるとき、値が「1」のビットは3個で奇数である。よって付加するビットは「1」であり、「10101001」という8ビットを伝送する。
この伝送誤りの検出に関する次の記述のうち、最も適切なものはどれか。
正解は4です。伝送誤りに関するチェックの話ですが、問題文を読めば、パリティなどの知識がなくても解けます。
0101001 などのような7ビットの値(0か1)があります。この1の数をかぞえて、奇数なら1、偶数なら0を加えます。この場合は奇数なので
01010011 となります。
そして転送誤りが発生して1か所ビットが反転したとすると
01110011 なります。すると1が偶数なのに最後のビット(パリティビット)が1なのはおかしいぞ?となりエラーがあったことが現出できます。という仕組みです。
ちなみにどこのビットがエラーなのかは特定できません。また2か所エラーが発生すると偶数奇数の変更は怒らないため、やはり検出できません。
ちなみに3ビット+1ビットでもこの仕組みは導入可能です。元の数は必ず偶数か奇数ですので付与するパリティビットが定まらないということもありません。
以上を踏まえますと正解は、データの中の2ビットが反転した場合には、伝送誤りを検出できない。です。
ちなみに世の中には複数の誤りを検出したり、ビットを自動修正したりする方式もあります。
パリティチェックでは、データ中の「1」のビット合計が偶数か奇数か判定し、偶数であれば「0」奇数であれば「1」を追加して合計が偶数の状態にして伝送します。
ビット数に制約はなく、2つ以上のビット数の反転は検出できません。
1.元データのビット数に上限はありませんので、誤りです。
2.元データが1ビットでも使用できますので、誤りです。
3.ビットが反転した位置を特定することはできませんので、誤りです。
4.正しいです。パリティチェックでは1ビットの反転は検出できますが、2ビットの反転は検出できません。
5.元データのビット数は必ず偶数もしくは奇数になるため、ビットの値は必ずいずれかに決まりますので、誤りです。
したがって、4が正解です。