홀수 패리티 비트란?
패리티 비트는 이진 데이터 묶음에 추가로 붙이는 한 개의 비트로, 기본적인 오류 검출을 가능하게 해줍니다. 홀수 패리티에서는 데이터 비트와 패리티 비트 자체를 모두 합쳐서 셌을 때 1의 개수가 항상 홀수가 되도록 패리티 비트를 정합니다. 이 계산기는 입력한 이진수 문자열에서 1의 개수를 세고, 홀수 패리티 규칙을 만족시키는 데 필요한 패리티 비트(0 또는 1)를 출력합니다.
계산기 사용 방법
이진 데이터 문자열(0과 1만 사용)을 입력하세요. 계산기가 1이 몇 개 있는지 세어 줍니다. 1의 개수가 이미 홀수라면 패리티 비트는 0입니다(추가할 필요 없음). 만약 개수가 짝수라면, 비트를 붙였을 때 총합이 홀수가 되도록 패리티 비트는 1이 됩니다.
공식 풀이
데이터에 들어 있는 1의 개수를 k라고 합시다. 홀수 패리티 비트는 P = (k + 1) mod 2로 계산합니다. 즉, k가 짝수이면 P = 1, k가 홀수이면 P = 0입니다. 전송되는 부호어(codeword)는 원래 데이터 뒤에 P를 붙인 것이며, 이렇게 하면 1의 총 개수가 항상 홀수임이 보장됩니다.
$$P = \begin{cases} 1 & \text{if } \left(\sum \text{ones in bits}\right) \bmod 2 = 0 \\ 0 & \text{otherwise} \end{cases}$$
예제로 보기
데이터 1011001을 살펴봅시다. 1의 개수를 세어 보면 1이 4개로, 짝수입니다. 총합을 홀수로 만들려면 1을 하나 더 추가해야 하므로 패리티 비트는 1이 됩니다. 완성된 부호어는 10110011이며, 1이 5개(홀수)가 됩니다. 만약 데이터가 1011000(1이 3개로 이미 홀수)이었다면 패리티 비트는 0이 됩니다.
자주 묻는 질문
홀수 패리티와 짝수 패리티의 차이는 무엇인가요? 짝수 패리티는 1의 총 개수를 짝수로, 홀수 패리티는 홀수로 만듭니다. 이 도구는 홀수 패리티를 사용합니다.
패리티로 모든 오류를 검출할 수 있나요? 단일 패리티 비트는 비트가 홀수 개 바뀐 경우는 검출하지만, 짝수 개의 오류는 검출하지 못하며 오류의 위치를 찾거나 정정할 수도 없습니다.
패리티는 어디에 사용되나요? 패리티 비트는 직렬 통신(UART), 메모리 시스템, 그리고 여러 간단한 데이터 무결성 검사에 쓰입니다.