No.40 誤り検出符号の一つで、データ列を整数値の列とみなして和を求め、これをある定数で割った余り(余剰)を検査用データとするもの。
最も単純な誤り検出方式の一種で、誤りの検出精度は低いが原理が簡単で容易に実装でき、計算コストも低いため、簡易な誤り検出方式として広く普及している。
(***)を用いるとデータの伝送や記録、複製が正確に行われたかをある精度で調べることができる。
送信や記録の前に(***)を算出して元データに付加し、受信や読み出しの後に同じ個所の(***)を算出しなおしてみて、両者が一致しなければ、その区間に含まれるデータのいずれかに誤りが生じていることが分かる。
(***)は誤りの検出のみ可能であり、訂正はできない。
例えば、4バイトのデータ列「0xC0 0xA8 0xFF 0x58」(16進数表記)から1バイトの(***)を算出するには、C0+A8+FF+58を計算して和(0x2BF)を求め、これを0x100で割った余り(最下位バイト)の0xBFが(***)となる。
データ列が長い場合は一定の大きさごとに区切って(***)を算出・付加することが多い。
その際の区切りの長さや(***)自体の長さは用途や実装により異なる。
最も単純な誤り検出方式の一種で、誤りの検出精度は低いが原理が簡単で容易に実装でき、計算コストも低いため、簡易な誤り検出方式として広く普及している。
(***)を用いるとデータの伝送や記録、複製が正確に行われたかをある精度で調べることができる。
送信や記録の前に(***)を算出して元データに付加し、受信や読み出しの後に同じ個所の(***)を算出しなおしてみて、両者が一致しなければ、その区間に含まれるデータのいずれかに誤りが生じていることが分かる。
(***)は誤りの検出のみ可能であり、訂正はできない。
例えば、4バイトのデータ列「0xC0 0xA8 0xFF 0x58」(16進数表記)から1バイトの(***)を算出するには、C0+A8+FF+58を計算して和(0x2BF)を求め、これを0x100で割った余り(最下位バイト)の0xBFが(***)となる。
データ列が長い場合は一定の大きさごとに区切って(***)を算出・付加することが多い。
その際の区切りの長さや(***)自体の長さは用途や実装により異なる。
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |