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 |