本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成17年度 技術士第一次試験問題【専門科目】

W−32

8ビットのデータを1ビット誤り訂正のECCコードにするためには、最低何ビットを追加する必要があるか。

@ 1ビット  A 3ビット  B 4ビット

C 6ビット  D 8ビット


正解

B


解説

ECC (Error Checking and Correction) コードは、データ情報の誤りを自動的に訂正するためのコードである。単に Error Correcting Code の略でもある。

8ビットのデータで1ビットの誤りまでを訂正する場合、全部で9つのパターンがある。この9通りを表すには、4ビットが必要である。

さらに、この4ビットも間違う可能性があるため全部で12ビット、13通りを表現する必要がある。これは4ビット追加すれば表現できる。


【別解】
訂正符号にハミング符号が用いられる。
ハミング符号では、ある整数mに対し
 符号長:n = 2m − 1
 情報数:k = n - m
で表される。なお、情報数は、元データのビット数である。

m = 3の時、
符号長 = 8 − 1 = 7
情報数 = 7 − 3 = 4
つまり、4ビットのデータについては、ECCコードは3ビットである。

m = 4の時
符号長 = 16 − 1 = 15
情報数 = 15 − 4 = 11
つまり、11ビットのデータについては、ECCコードは4ビットである。

問題は8ビットのデータであるため、ECCコードにするためには、最低4ビットの追加が必要である。

W−31 目次 W−33