-
[문제해설] 5비트 정보 10110을 짝수 패리티 해밍코드로 변환 하시오.전자계산기조직응용기사/실기 필답형 기출문제 해설 2021. 9. 26. 12:09반응형
전자계산기조직응용기사 실기 필답형 기출문제 (해밍 코드) - 2017년3회
5비트 정보 10110을 짝수 패리티 해밍코드로 변환하시오.
- 문제 해설 -
해밍 코드는 오류 검출 코드 중 하나이며, 최대 2비트 오류를 감지하거나 1비트 오류를 정정할 수도 있습니다.
이러한 해밍 코드는 데이터 비트에 체크 비트를 삽입하여 생성합니다.
데이터 비트는 본 문제에서 '10110'에 해당하는 원래의 데이터입니다. 체크 비트는 패리티 비트(parity bit)라고도 부르며, 다음의 규칙에 따라 삽입하면 됩니다.
즉, 패리티 비트는 1, 2, 4, 8, 16... 번째 비트 위치를 가집니다. 그럼 그 사이 빈 공간에 데이터 비트를 차례로 넣습니다.
P를 패리티 비트, D를 데이터 비트라고 할 때, 데이트 비트가 5비트이면 해밍 코드는 다음과 같이 구성됩니다.
위 표의 데이터 비트(D) 자리에 문제에서 주어진 데이터 비트 '10110'를 넣어 보겠습니다.
여기까지만 해놓고, 잠깐 패리티 검사 코드(parity check code) 대해서 알아보겠습니다.
단순한 패리티 검사 코드는 원래의 코드에 한 비트를 더해서 만들어지는데, 전체 비트의 1의 개수가 홀수나 짝수로 맞추어주는 것입니다. ASCII 코드(7bit) 1101100에 짝수 패리티 코드를 추가하면 01101100 이 됩니다. 전체의 1의 개수를 짝수로 맞추어주기 위해 0을 좌측에 추가한 것입니다.
기본적인 패리티 검사 코드는 이와 같이 전체 비트를 검사 대상으로 패리티 비트의 값을 결정하지만, 해밍 코드는 이보다는 좀 복잡합니다. 해밍 코드에서 각각의 패리티 비트의 검사 범위는 다음과 같습니다.
복잡해 보이지만 간단합니다. 파란색 돋보기 표시가 있는 부분이 각각의 패리티 비트의 검사 범위입니다.
P1의 경우 검사의 범위가 1, 3, 5, 7,...
P2의 경우 검사의 범위가 (2, 3), (6, 7), (10, 11),...
P4의 경우 검사의 범위가 (4, 5, 6, 7), (12, 13, 14, 15),...
이제 규칙이 보이죠?
패리티 비트의 위치가 n이라면, 자신을 포함하여 n개가 검사 범위에 속하고, 그다음 n개의 비트는 건너뛰고, 다시 n개의 비트를 검사 범위에 넣습니다.
그럼 문제로 돌아가서 P1의 값을 구해보겠습니다.
패리티 비트 P1의 검사범위는 위 표의 색칠한 부분입니다. 짝수 패리티이므로, 검사 범위의 비트의 1의 값이 짝수가 되려면 P1의 값은 0입니다.
패리티 비트 P2의 검사범위는 위 표의 색칠한 부분입니다. 짝수가 되려면 P2의 값은 1입니다.
패리티 비트 P3의 검사범위는 위 표의 색칠한 부분입니다. 짝수가 되려면 P3의 값은 0입니다.
패리티 비트 P4의 검사범위는 위와 같습니다. 1이 하나도 없습니다. 이럴 때는 0개를 짝수로 합니다. 그래서 P4는 0입니다.
이제 4개의 패리티 비트를 모두 구했습니다. 이 값들을 자신의 자리에 넣고 데이터 비트와 같이 써주면 정답인 '011001100'이 됩니다.https://youtube.com/playlist?list=PLboXycXmAIDt4ObBRPVj29BuD2d27oRnO
반응형'전자계산기조직응용기사 > 실기 필답형 기출문제 해설' 카테고리의 다른 글
[문제해설] 10진수 14.5를 IEEE 754 표준 32비트의 단일정밀도 형식으로 표현할 때, 지수(exponent)는 얼마인지 쓰시오. (0) 2021.09.30 [문제해설] 다음의 회로는 무슨 회로인가? (0) 2021.09.27 [문제해설] 4X8Kbit를 갖는 Memory 소자를 조합하여 128KByte 기억용량을 얻으려면 최소 몇 개의 Memory 소자가 필요한가? (0) 2021.09.24 [문제해설] 부호와 절대치 고정소수점 방식을 사용하여 8bit로 +23과 -23을 표시하시오. (0) 2021.09.23 [문제해설] 백단위의 숫자를 카운터하기 위해서는 10진 카운터가 몇개 필요한가? (3) 2021.09.21