일부 데이터에 CRC를 배치하려는 경우 RS-232를 통한 전송의 양 끝에 코드를 작성하는 경우 리플렉션 없이 자유롭게 전송할 수 있습니다. 이 마지막 장에서는 CRC 계산에 대한 흥미로운(그리고 완전히 명확하지는 않은) 주제가 포함되어 있습니다. 이러한 점은 선택 사항이며 동일한 배경 정보에 관심이 있는 사람들을 위해 추가 정보만 포함합니다. 다항식의 분할은 정수 분할과 다릅니다. 자세히 설명하지 않고 CRC 계산에 사용되는 기본 귀족은 XOR(Exclusive-OR) 작업을 기반으로 합니다(곧 예제를 볼 예정입니다!). – 분할은 전체 입력 데이터(이진 스트림으로 해석)입니다. – 생성기 다항식이라고도 하는 제수는 사용된 CRC 알고리즘에 의해 정적으로 정의됩니다. CRC-n (n+1) 비트가 있는 고정 정의된 생성기 폴리놈을 사용합니다. – CRC 체크섬 값은 분할 % 제수로 정의됩니다. 수동 계산의 경우 실제 CRC 계산(다항식 분할)이 계산되기 전에 n 0 비트가 입력 데이터에 추가됩니다. 예제 CRC 계산을 수행해 보겠습니다: msbit-first 예제에서 나머지 다항식은 x 7 + x 5 + x {디스플레이 스타일 x^{7}+x^{5}+x}입니다.

x의 가장 높은 전력이 msbit이라는 규칙을 사용하여 육각형 숫자로 변환; 이것은 A216입니다. lsbit-first에서 나머지는 x 7 + x 4 + 3 {디스플레이 스타일 x^{7}+x^{4}+x^{3}} 입니다. x의 가장 높은 전력이 lsbit이라는 규칙을 사용하여 헥사데피말로 변환하면 1916입니다. 체크섬을 사용하면 적절한 CRC 계산을 대체할 수 있다고 생각할 수 있습니다. 체크섬을 계산하는 것이 확실히 쉽지만 체크섬은 모든 오류를 찾지 못합니다. 예제 문자열을 사용하여 1바이트 체크섬을 계산할 수 있습니다. 예제 문자열은 ASCII 값 [76, 97, 109, 109, 101, 114, 116]으로 변환하는 “Lammert”입니다. 이 배열의 1바이트 체크섬은 값을 256으로 나누고 나머지값을 유지하는 것보다 모든 값을 추가하여 계산할 수 있습니다. 결과 체크섬은 210입니다.

위의 계산기를 사용하여 이 결과를 확인할 수 있습니다. 다음 예제 코드에서 crc는 table[i]의 값을 보유합니다: 1바이트 입력 데이터에 대해서만 CRC-8 알고리즘의 구현으로 시작해 보겠습니다. 구현은 위의 예에서 시프트 레지스터 프로세스에 매우 밀접하게 유지됩니다.