Parity bit
Parity bit
Parity Bit은 수신한 데이터에 오류가 있는지 검출하기 위해 탄생했습니다. 오류가 발생했는지는 확인할 수 있지만 어느 부분에서 오류가 발생했는지는 알 수 없습니다.
패리티 비트는 짝수 패리티, 그리고 홀수 패리티로 나뉩니다.
짝수 패리티는 어떠한 2진 데이터에 존재하는 1의 갯수가 짝수가 되도록 만드는 비트이고, 홀수 패리티는 1의 갯수가 홀수가 되도록 만드는 비트입니다.
예를 들어 11010110(2)라는 데이터가 있을 때, 짝수 패리티는 1, 홀수 패리티는 0이 됩니다.
1 | 1 | 0 | 1 | 0 | 1 | 1 |
기존 데이터가 위와 같다면
1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 |
1의 갯수(여섯개)를 짝수로 만들도록 추가된 가장 오른쪽의 비트(1)는 짝수 패리티 이고,
1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 |
1의 갯수(다섯개)를 홀수로 유지하도록 추가된 가장 오른쪽의 비트(0)는 홀수 패리티입니다.
일반적으로 짝수 패리티를 사용합니다. 짝수 패리티를 사용하는지, 혹은 홀수 패리티를 사용하는지를 알고있으면 수신받은 데이터에 오류가 있는지 확인하는 방법은 매우 간단합니다.
짝수 패리티를 사용하고 있다면 수신받은 데이터에 있는 1의 갯수가 짝수가 아닐때 오류가 발생한 것이고, 홀수 패리티를 사용하고 있다면 수신받은 데이터에 있는 1의 갯수가 홀수가 아닐때 오류가 발생한 것입니다.
오류 검사 예시
- 짝수 패리티 사용
1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 👉 1의 갯수가 짝수이므로 정상 |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 👉 1의 갯수가 홀수이므로 오류 존재 |
- 홀수 패리티 사용
1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 👉 1의 갯수가 홀수이므로 정상 |
1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 👉 1의 갯수가 짝수이므로 오류 존재 |
패리티 비트로 오류가 존재하는지는 알 수 있지만 정확이 어느 부분에서 오류가 발생한 것인지를 알 수는 없습니다.
이를 검출하기 위해서는 해밍코드를 사용해야 합니다.
댓글남기기