해밍코드


해밍코드를 처음 듣는 사람도 있을 것이고 들어본 사람도 있을 것이다.


나도 공부를 하기전까지는 들어만 봤던 이름이다.


그냥 에러 검사와 오류정정을 도와준다는 정도만 알고 있었을 뿐...


우선 해밍코드의 정의를 찾아보면 위키에서는 아래와 같이 나와 있다.


해밍 부호(해밍符號, 영어: Hamming code)는 오류 정정 부호의 일종으로 리처드 해밍이 제안했다. 보통 해밍 부호라고 할 때는 해밍 (7,4) 부호를 가리킨다. 해밍 부호는 1비트 오류만 일어날 때는 오류를 정정할 수 있고, 2비트까지의 오류를 검출할 수 있다.


자세한 설명은 https://ko.wikipedia.org/wiki/%ED%95%B4%EB%B0%8D_%EB%B6%80%ED%98%B8 여기서 보면 된다.


해밍 (7,4) 부호라고 나와 있는데 이것이 무엇인가 보면 7개의 비트 중 4개의 데이터 비트라는 뜻 


그럼 나머지 3비트는 패리티 비트가 되겠다.


아래는 (7,4)에 단순 패리티 비트를 추가한 코드이다.


설명은 나중으로...


소스코드




테스트 벤치


+ Recent posts