8-bit 데이터 01001101($d_7, d_6, \dots, d_1, d_0$)에 대해 우수 패리티(even parity)를 사용하는 해밍 코드를 생성하려고 한다. 생성되는 해밍 코드는 무엇인가? (단, 가장 왼쪽의 비트가 최상위 비트이다.)
정답 및 해설 펼치기 (정답: ①번)
1단계: (12, 8) 해밍 코드의 비트 위치 할당
• 2의 거듭제곱 위치($1, 2, 4, 8$)에 패리티 비트($P_1, P_2, P_4, P_8$)를 배치하고, 나머지 위치에 8비트 데이터($01001101$)를 최상위 비트(MSB)부터 내림차순 배치합니다:
- 위치 12: $d_7 = 0$
- 위치 11: $d_6 = 1$
- 위치 10: $d_5 = 0$
- 위치 9: $d_4 = 0$
- 위치 8: $P_8$
- 위치 7: $d_3 = 1$
- 위치 6: $d_2 = 1$
- 위치 5: $d_1 = 0$
- 위치 4: $P_4$
- 위치 3: $d_0 = 1$
- 위치 2: $P_2$
- 위치 1: $P_1$
2단계: 짝수 패리티(Even Parity) 비트 계산
• $P_1$ (이진 표현의 최하위 비트가 1인 위치: 1, 3, 5, 7, 9, 11):
데이터 비트 위치 3(1), 5(0), 7(1), 9(0), 11(1)에서 1의 개수는 3개(홀수)이므로 짝수로 맞추기 위해 $P_1 = 1$입니다.
• $P_2$ (이진 표현의 둘째 비트가 1인 위치: 2, 3, 6, 7, 10, 11):
데이터 비트 위치 3(1), 6(1), 7(1), 10(0), 11(1)에서 1의 개수는 4개(짝수)이므로 $P_2 = 0$입니다.
• $P_4$ (이진 표현의 셋째 비트가 1인 위치: 4, 5, 6, 7, 12):
데이터 비트 위치 5(0), 6(1), 7(1), 12(0)에서 1의 개수는 2개(짝수)이므로 $P_4 = 0$입니다.
• $P_8$ (이진 표현의 넷째 비트가 1인 위치: 8, 9, 10, 11, 12):
데이터 비트 위치 9(0), 10(0), 11(1), 12(0)에서 1의 개수는 1개(홀수)이므로 $P_8 = 1$입니다.
3단계: 최종 해밍 코드 조합
• 위치 12부터 1까지 차례대로 나열합니다:
$$0100 \; 1110 \; 0101$$
최종 결과:
• 생성되는 해밍 코드는 ①번(010011100101)입니다.