티스토리 뷰
기술(Tech, IT)/etc.
[Tech, etc.] CRC32 (Cyclic Redundancy Check 32-bit) - 예
Daniel803 2024. 2. 29. 02:503비트 checksum을 생성하는 CRC3이라는 작은 버전을 사용해 CRC가 어떻게 작동하는지 알아보자. 예시에서는 간단한 4비트 입력 메시지와 4비트 다항식을 사용한다. 원리는 CRC32와 동일하지만 규모만 더 작을 뿐이다.
- 다항식 선택
: 먼저 CRC3 계산을 위해 4비트 다항식을 선택한다 0xB(2진수로는 1011)을 사용한다. 선행 비트는 항상 1로 가정하며 명시적으로 기록하지 않는다. - 입력 데이터 준비
: 입력 데이터가 1101(4비트 메시지)라고 가정하자. CRC3을 수행하려면 이 메시지를 CRC 비트 수(이 경우 3)만큼 환장한다. 메시지 끝에 0을 세 개 추가해 1101 000을 만들면 된다. - 나누기
: 이제 2진수의 긴 나눗셈과 유사한 XOR 연산을 사용해 확장된 메시지를 다항식으로 나눈다. 몫은 버려지고 나머지는 CRC 값이 된다.
(1) 초기 설정
- 확장 데이터: 1101 000
- 다항식: 1011
(2) 나누기 단계
- 다항식의 MSB를 확장 데이터의 첫 번째 1과 정렬한다.
- 확장된 데이터의 처음 네 비트와 다항식 사이에 XOR을 수행한다: 1101 XOR 1011 = 0110
- 결과의 다음 1과 일치하도록 다항식을 이동하고 XOR 연산을 반복한다. 결과가 0110이므로 시프트할 필요가 없다(MSB는 이미 1에 정렬돼 있다.)
- XOR 실행: 0110 XOR 1011 = 1101
- 처리할 비트가 4비트 미만이므로(101) 나눗셈을 완료했다. 나머지는 101 - CRC 값
: 나눗셈의 마지막 단계에서 남은 부분은 CRC 값이다. 따라서 입력 데이터 1101의 경우 CRC3 checksum은 101이다. - 데이터에 CRC 추가
: CRC가 포함된 메시지를 작성하려면 원본 데이터에 CRC 값을 추가한다: 1101 101
메시지가 올바른지 확인하기 위해 CRC가 추가된 메시지에 대해 동일한 분할 프로세스를 수행한다. 오류가 없으면 나머지는 000이 된다. 나머지가 000이 아닌 경우 전송 오류가 발생했을을 나타낸다.
반응형
'기술(Tech, IT) > etc.' 카테고리의 다른 글
[Tech, etc.] ASTM (American Society for Testing and Materials) (0) | 2024.03.21 |
---|---|
[Tech, etc.] Mask (메디컬 이미지 및 분석 문맥) (0) | 2024.03.18 |
[Tech, etc.] CRC32 (Cyclic Redundancy Check 32-bit) (1) | 2024.02.28 |
[Tech, etc.] NMEA (National Marine Electronics Association) (0) | 2024.02.27 |
[Tech, etc.] Byteflight (0) | 2024.02.22 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Android
- DICTIONARY
- join
- 머신 러닝
- ml
- defaultdict
- java
- vertex shader
- The Economist
- 이코노미스트 에스프레소
- 안드로이드
- 딕셔너리
- min heap
- 이코노미스트
- leetcode
- I2C
- tf-idf
- The Economist Espresso
- C++
- Computer Graphics
- 투 포인터
- Python
- 파이썬
- machine learning
- 리트코드
- 티스토리챌린지
- Hash Map
- socket programming
- 오블완
- 소켓 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
반응형