alt

디지털 코드 3월 26일

Shared on March 26, 2026

디지털 코드와 통신 오류 검출/정정 개념 정리

개요

본 강의에서는 BCD, 8421, Gray 코드 등 가중치 코드와 자기 보수 성질, 패리티 비트(짝수/홀수, 병렬), 해밍 코드를 통해 데이터 전송 중 발생할 수 있는 오류를 검출·정정하는 방법을 설명했다. 또한 ASCII, Unicode 등 문자 인코딩 체계와 한글 인코딩에 대한 개념도 다뤘다. 시험에 자주 나오는 핵심 내용과 계산 방법을 정리하였다.

핵심 개념

구분주요 내용
BCD (Binary-Coded Decimal)10진수 09를 4비트 이진수로 표현. 4비트 중 1015는 사용하지 않음. 9를 초과하면 6을 더해 보정.
8421 코드BCD와 동일. 각 비트에 가중치 8,4,2,1 부여. 9를 초과 시 6을 더해 보정.
Gray 코드인접한 코드가 한 비트만 다름. 변환: MSB는 그대로, 이후 비트는 앞 비트와 XOR.
가중치/비가중치 코드가중치 코드: 각 비트에 가중치가 있음(예: 8,4,2,1). 비가중치: 가중치 없음(예: Gray).
자기 보수 성질보수(Complement)와 원본이 서로 보수 관계가 있는지 여부. BCD는 자기 보수 없음, 8421은 있음.
패리티 비트짝수 패리티: 전체 1의 개수를 짝수로 만들고, 홀수 패리티: 홀수로 만든다.
병렬 패리티행·열별 패리티 비트를 추가해 2차원 데이터에서 오류 위치를 찾음.
해밍 코드8비트 데이터 + 4비트 패리티(총 12비트)로 오류 검출·정정 가능. 패리티 비트 위치는 1,2,4,8.
ASCII7비트(8비트 확장)로 영문자, 숫자, 특수기호 128개 표현. 0x300x39(‘0’‘9’), 0x410x5A(‘A’‘Z’), 0x610x7A(‘a’‘z’).
Unicode16비트(UTF‑16), 8비트(UTF‑8), 32비트(UTF‑32) 등으로 10만자 이상 표현. 한글은 조합형(초성·중성·종성)과 완성형.

상세 내용

BCD / 8421 코드

  • 표현법: 4비트 → 09. 1015 비활용.
  • 9 초과 처리: 6을 더해 보정(예: 8+7=15 → 6 더하면 21 → 1(보수) + 5 = 15).
  • 자기 보수 성질: 없음 → 9+1=10, 8+2=10 등으로 보정 필요.

Gray 코드

  • 변환법:
    • G[MSB] = B[MSB]
    • G[i] = B[i] XOR B[i-1] (i = 1~n-1)
  • 특징: 인접한 값이 한 비트만 다름 → 전송 시 변동 최소화.

가중치 코드와 비가중치 코드

  • 가중치 코드: 각 비트에 가중치(8,4,2,1 등) 부여 → 덧셈으로 값 계산.
  • 비가중치 코드: 가중치 없음 → Gray 코드, 3초박 코드 등.

패리티 비트

  • 짝수 패리티: 1의 개수 → 짝수.
    예: 1010 → 2개(짝수) → 패리티 0.
  • 홀수 패리티: 1의 개수 → 홀수.
    예: 1010 → 2개(짝수) → 패리티 1.
  • 병렬 패리티: 행·열별 패리티 비트 추가 → 오류 위치(행·열 번호) 파악 가능.

해밍 코드

  • 구성: 8데이터 비트 + 4패리티 비트(positions 1,2,4,8).
  • 패리티 계산: 각 패리티 비트는 해당 위치 비트들의 XOR.
  • 오류 검출·정정: 패리티 비트 결과를 읽어 오류 비트 번호(패리티 비트 XOR 결과를 2진수로 읽음) 파악 → 해당 비트 반전.

ASCII

  • 7비트(8비트 확장) 표준.
  • 숫자: 0x30~0x39
  • 대문자: 0x41~0x5A
  • 소문자: 0x61~0x7A
  • 특수문자: 0x200x2F, 0x3A0x40, 0x5B0x60, 0x7B0x7E.

Unicode

  • UTF‑8: 가변 길이(1~4바이트).
  • UTF‑16: 2바이트(플러시 페어 사용).
  • UTF‑32: 고정 4바이트.
  • 한글: 초성·중성·종성 조합(조합형) 또는 완성형(한글 유니코드 블록).

시험 대비 팁

  • BCD/8421: 9 초과 시 6 더하기, 가중치 합 계산 숙지.
  • Gray 코드: 변환 공식 기억, 역변환도 익히기.
  • 패리티 비트: 짝수/홀수 계산, 병렬 패리티 행/열 번호 찾기.
  • 해밍 코드: 패리티 비트 위치와 XOR 계산법, 오류 비트 번호 도출.
  • ASCII: 0x300x39, 0x410x5A, 0x61~0x7A 범위 기억.
  • Unicode: 한글 조합 방식과 UTF‑8/16/32 차이 파악.

핵심: 가중치와 비가중치, 자기 보수 성질을 구분하고, 패리티와 해밍 코드를 통해 오류를 검출·정정하는 절차를 정확히 이해하는 것이 시험 대비 핵심이다.