どのサイズのパケットでも、CRC を使用してシングル ビット エラーを検出できます。ダブル ビット エラーの検出またはシングル ビット エラーの訂正は、CRC が取り得る個別の値の数に制限されるため、8 ビットの場合は 256 になります。16 ビットの場合は 65535。など 2^n
前方誤り訂正で訂正できるビット数は、多項式のハミング距離によっても制限されます。たとえば、ハミング距離が 3 の場合、一致する CRC を持つ 1 つの有効なメッセージを表すビットのセットから、独自の一致する CRC を持つ別の有効なメッセージに変更するには、3 ビットを反転する必要があります。それなら、安心して1ビット修正できます。ハミング距離が 5 の場合、2 ビットを修正できます。ただし、複数のビットを修正する場合は、効果的に複数の位置にインデックスを付けているため、修正された 2 つのビットのインデックスを表すには、1 つではなく 2 倍のビット数が必要になります。
前方誤り訂正では、パケットの CRC と CRC を一緒に計算し、残差値を取得します。エラーがゼロの適切なメッセージには、常に予想される残余値 (CRC レジスタのゼロ以外の初期値がない限りゼロ) があり、エラーの各ビット位置には一意の残余値があるため、それを使用して位置を識別します。その残差でCRC結果が得られた場合、エラーを修正するためにどのビット(または複数のビット)を反転する必要があるかがわかります。