패리티 비트 계산기
2진 데이터의 짝수 또는 홀수 패리티 비트를 계산하고, 수신 데이터의 단일 비트 전송 오류를 검증합니다.
2진 데이터를 입력하고 짝수 패리티 또는 홀수 패리티를 선택하면, 패리티 비트와 전체 전송 문자열, 그리고 필요시 수신 데이터 검증 결과를 즉시 확인할 수 있습니다.
패리티 비트 계산기
2진 데이터의 짝수 또는 홀수 패리티 비트를 계산하고, 수신 데이터의 단일 비트 전송 오류를 검증합니다.
패리티 비트 계산기 소개
오류 감지는 신뢰할 수 있는 디지털 통신의 핵심입니다. USB 케이블, Wi‑Fi 링크, 하드디스크 읽기 헤드, 장거리 위성 통신처럼 잡음이 있는 채널로 데이터를 전송할 때는 전송 중 비트가 손상될 가능성이 있습니다. 패리티 검사는 이런 오류를 잡아내는 가장 단순한 방법이며, 오래된 기술이지만 임베디드 시스템, 직렬 통신 프로토콜, 컴퓨터 과학 교육에서 여전히 중요합니다.
패리티 비트는 데이터 블록에 덧붙이는 1비트입니다. 이 비트의 값은 블록 안의 1 개수(패리티 비트 자체 포함)가 특정 규칙을 만족하도록 선택됩니다. 짝수 패리티에서는 1의 총개수가 짝수여야 하고, 홀수 패리티에서는 1의 총개수가 홀수여야 합니다. 송신 측은 이 규칙에 맞춰 데이터와 패리티 비트를 전송하고, 수신 측은 다시 1의 개수를 셉니다. 규칙을 위반하면 최소 하나의 비트가 손상된 것입니다.
짝수 패리티 비트 계산: 원본 데이터의 1 개수를 셉니다. 이미 짝수라면 패리티 비트는 0입니다(추가 1이 필요 없음). 홀수라면 패리티 비트는 1입니다(총합을 짝수로 맞춤). 홀수 패리티는 반대로, 이미 홀수면 0이고 짝수면 1입니다.
짝수 패리티 예시: data = 1011. 1이 3개로 홀수입니다. 총합을 짝수로 만들려면 짝수 패리티 비트 = 1. 전송 문자열: 10111. 수신 측은 1이 4개임을 확인해 짝수이므로 메시지를 유효하다고 판단합니다. 비트 하나가 뒤집혀 10110을 받으면 1이 3개로 홀수가 되어 오류를 알립니다.
홀수 패리티 예시: data = 1011. 1이 3개로 이미 홀수입니다. 총합을 홀수로 유지하려면 홀수 패리티 비트 = 0. 전송 문자열: 10110. 수신 측은 1이 3개임을 확인해 유효하다고 판단합니다. 비트 하나가 뒤집혀 11110을 받으면 1이 4개로 짝수가 되어 오류를 알립니다.
짝수 패리티와 홀수 패리티는 모두 단일 비트 오류를 감지할 수 있습니다. 하지만 두 비트 오류는 놓치는데, 두 비트를 뒤집으면 패리티가 유지되기 때문입니다. 더 강한 다중 비트 오류 감지를 위해서는 더 강력한 코드를 사용합니다. 해밍 코드는 1비트 오류 정정도 가능하고, CRC(순환 중복 검사)는 버스트 오류를 감지하며, Reed-Solomon 코드는 CD와 QR 코드 같은 저장 매체에 사용됩니다.
이 계산기는 하나의 인터페이스에서 두 패리티 유형을 모두 지원합니다. 입력이 2진수인지 검증하고, 패리티 비트를 계산하고, 전송 문자열을 생성하며, 필요하면 총 1 개수가 기대되는 패리티 규칙과 맞는지 확인해 수신 문자열을 검증합니다.
패리티 비트 예시
여러 2진 입력에 대한 짝수/홀수 패리티 비트 계산 예시입니다.
| 2진 데이터 | 패리티 비트(짝수 / 홀수) | 전송 문자열 |
|---|---|---|
| 1010 | 0(짝수) / 1(홀수) | 1이 2개: 짝수 → 0; 홀수 총합이 필요 → 1 |
| 1110 | 1(짝수) / 0(홀수) | 1이 3개: 짝수 총합이 필요 → 1; 이미 홀수 → 0 |
| 11001100 | 0(짝수) / 1(홀수) | 1이 4개(짝수): 짝수 패리티 = 0; 홀수 패리티 = 1 |
| 10110100 | 0(짝수) / 1(홀수) | 1이 4개(짝수): 짝수 패리티 = 0(이미 짝수); 홀수 패리티 = 1(총합을 홀수로 만듦) |
| 1111111 | 1(짝수) / 0(홀수) | 1이 7개(홀수): 짝수 패리티 = 1; 홀수 패리티 = 0 |
패리티 비트 계산기 사용 방법
- ‘2진 데이터’ 필드에 2진 문자열을 입력하세요. 0과 1만 허용됩니다.
- ‘패리티 유형’에서 ‘짝수 패리티’ 또는 ‘홀수 패리티’를 선택하세요.
- ‘계산’을 클릭하면 패리티 비트, 1의 총개수, 전체 전송 문자열을 볼 수 있습니다.
- 선택적으로 수신 문자열(데이터 + 패리티 비트)을 ‘수신 데이터’에 붙여 넣어 선택한 패리티 규칙으로 검증할 수 있습니다.
- ‘초기화’를 클릭하면 모든 필드를 지우고 새 계산을 시작할 수 있습니다.
자주 묻는 질문
패리티 비트란 무엇인가요?
패리티 비트는 2진 데이터 블록에 덧붙이는 하나의 비트입니다. 이 값은 결합된 시퀀스의 1 총개수가 짝수 패리티(1의 총합이 짝수) 또는 홀수 패리티(1의 총합이 홀수)를 만족하도록 설정됩니다. 이를 통해 수신 측은 단일 비트 전송 오류를 감지할 수 있습니다.
짝수 패리티와 홀수 패리티의 차이는 무엇인가요?
짝수 패리티는 1의 총개수(데이터 + 패리티 비트)가 짝수가 되도록 하고, 홀수 패리티는 홀수가 되도록 합니다. 둘 다 단일 비트 오류를 같은 수준으로 감지합니다. 홀수 패리티는 모든 데이터 비트가 0일 때 비영(0이 아닌) 패리티 비트를 보장하므로, 0 고정(stuck-at-zero) 결함을 찾는 데 도움이 되기도 합니다.
패리티로 다중 비트 오류를 감지할 수 있나요?
패리티는 홀수 개의 비트 오류(1, 3, 5, …)는 감지하지만, 동시에 발생한 짝수 개의 오류(2, 4, …)는 놓칩니다. 실제로는 2비트 오류가 드물지만 발생할 수 있습니다. 더 강한 보호가 필요하면 해밍 코드, CRC, Reed-Solomon 코드를 사용하세요.
실제 시스템에서 패리티 검사는 어디에 쓰이나요?
패리티는 DRAM 메모리(ECC 메모리는 확장 패리티/해밍 코드를 사용), 직렬 통신(RS-232 및 RS-485의 UART 패리티 비트), IDE 및 SCSI 저장 인터페이스, 여러 임베디드 프로토콜에서 사용됩니다. 또한 컴퓨터 과학과 디지털 전자공학에서 기본 개념으로 가르칩니다.
왜 패리티 비트를 데이터 끝에 두나요?
이 계산기는 패리티 비트를 데이터 문자열 끝에 붙이며, 이는 단순한 프레이밍 형식에서 가장 일반적인 관례입니다. 일부 프로토콜(예: 특정 UART 구성)은 패리티 비트를 별도의 프레임 필드로 사용합니다. 비트 위치는 오류 감지 능력에는 영향을 주지 않고, 프로토콜 프레이밍에만 영향을 줍니다.
패리티와 해밍 코드는 어떤 관계가 있나요?
해밍 코드는 여러 패리티 비트의 집합이라고 볼 수 있으며, 각 비트는 데이터 비트의 서로 다른 부분집합을 담당합니다. 단일 패리티 비트는 오류를 감지하는 데 그치지만, 해밍 코드는 어느 비트가 잘못되었는지 찾아내어 단일 비트 오류를 감지하고 수정할 수 있습니다. 그래서 ECC 메모리와 데이터 저장 분야에서 널리 사용됩니다.