패리티 비트 & 해밍 코드

박정연 Diana·2023년 8월 24일

컴퓨터구조

목록 보기
5/6

패리티 비트

정보 전달 과정에서 오류가 생겼는지 검사하기 위해 추가하는 비트

  • 전송하고자 하는 데이터의 각 문자에 1비트를 더하여 전송함

  • 종류: 짝수, 홀수

  • 전체 비트에서 (짝수, 홀수)에 맞도록 비트를 정하는 것

🙋‍♀️ 짝수 패리티일 때 7비트 데이터가 1010001라면?

1이 총 3개 이므로, 짝수로 맞춰주기 위해 1을 더해야 함

답: 11010001 (맨 앞이 패리티 비트)


해밍 코드

데이터 전송 시 1비트의 에러를 정정할 수 있는 자기 오류 정정 코드

  • 패리티 비트를 보고, 1비트에 대한 오류를 정정할 곳을 찾아 수정할 수 있음

  • 패리티 비트는 오류를 검출하기만 할 뿐 수정하지는 않기 때문에 해밍 코드를 활용

방법

2의 n승번째 자리인 1, 2, 4번째 자릿수가 패리티 비트라는 것으로부터 시작
이 숫자로부터 시작하는 세개의 패리티 비트가 짝수인지, 홀수인지 기준으로 판별함

🙋‍♀️ 짝수 패리티의 해밍 코드가 0011011일 때 오류가 수정된 코드는?

  • 1, 3, 5, 7번째 비트 확인: 0101로 짝수이므로 '0'
  • 2, 3, 6, 7번째 비트 확인: 0111로 홀수이므로 '1'
  • 4, 5, 6, 7번째 비트 확인: 1011로 홀수이므로 '1'

역순으로 패리티비트 '110'을 도출함. 이를 10진수로 바꾸면 '6'으로 6번째 비트를 수정하면 됨

답: 00110'0'1 (6번째 비트 1 → 0으로 수정)


참고 📖

0개의 댓글