💡 디지털 코드란 무엇일까?

디지털 시스템은 숫자뿐 아니라 문자, 기호, 특수 문자 등 모든 정보를 2진 비트로 표현한다. 이때 사용하는 다양한 코드를 디지털 코드라고 부른다. 디지털 코드는 크게 다음과 같이 분류된다:

  • 수치 표현용 코드: 가중치 코드, 비가중치 코드 등
  • 문자 표현용 코드: ASCII, EBCDIC, 유니코드 등
  • 에러 검출 및 정정용 코드: 패리티 비트, 해밍 코드 등

🔢 1. 수치 표현을 위한 디지털 코드

1-1. 가중치 코드 vs 비가중치 코드

분류 설명 예시

가중치 코드 각 비트가 고정된 가중치를 가짐 8421, 2421
비가중치 코드 비트 가중치 개념 없음 그레이 코드, Excess-3

1-2. BCD (Binary-Coded Decimal, 8421 코드)

  • 설명: 10진수를 4비트 2진수로 표현하는 방식
  • 예시: 10진수 6 → 0110, 10진수 9 → 1001
  • 주의: “1010”~“1111”은 사용하지 않음 → 유효하지 않은 코드

✅ BCD는 사람이 보기 쉽고 변환이 간편하지만, 계산(연산)이 복잡해짐

BCD code


1-3. Excess-3 (3초과 코드)

  • 설명: BCD에서 각 수에 +3을 더해 표현한 비가중치 코드
  • 특징:
    • 사용 가능한 값은 BCD보다 많음
    • 자기보수(Self-Complementary) → 보수 연산이 간단
  • 예시: 10진수 0 → 0011, 1 → 0100, 9 → 1100

자기 보수의 성질


1-4. Gray Code (그레이 코드)

  • 특징:
    • 인접한 숫자 간 1비트만 변화 → 오류 최소화
    • 산술 연산은 불가능
    • 입출력 장치, 아날로그-디지털 변환기 등에 사용됨
  • 예시 (3비트 기준):
2진수  Gray 코드
000 000
001 001
010 011
011 010
100 110
101 111
110 101
111 100

 


🔤 2. 문자 표현을 위한 코드 (알파뉴메릭 코드)

2-1. ASCII (American Standard Code for Information Interchange)

  • 설명: 미국 ANSI에서 제정한 문자 표준 코드
  • 구성: 7비트로 128개 문자 표현 가능
  • 범위:
    • 영문자 대/소문자, 숫자, 기호, 제어 문자 등

ASCII 코드
ASCII 코드 2


2-2. EBCDIC (Extended Binary Coded Decimal Interchange Code)

  • 설명: IBM에서 개발한 8비트 문자 코드
  • 표현 가능 문자 수: 256개
  • 주로 사용: IBM 대형 컴퓨터 시스템

EBCDIC 코드


2-3. Unicode (유니코드)

  • 개요: ASCII의 한계 극복을 위한 범세계 문자 표준
  • 특징:
    • 전 세계 주요 언어 포함 (10만 개 이상 문자)
    • 한자 70,000자 이상 포함
    • 수학 기호, 기하학 기호, 이모지 등도 포함
  • 용도: 웹, 모바일, 소프트웨어 국제화 표준

⚠️ 3. 에러 검출 및 수정용 코드

3-1. 패리티 비트 (Parity Bit)

  • 기능: 데이터 전송 중 발생할 수 있는 에러를 검출
  • 방식:
    • 짝수 패리티 (Even parity): 전체 1의 개수가 짝수가 되도록 설정
    • 홀수 패리티 (Odd parity): 전체 1의 개수가 홀수가 되도록 설정
  • 한계: 에러 검출만 가능, 다중 에러 발생 시 한계 있음

패리티 비트의 표현
병렬 패리티


3-2. 해밍 코드 (Hamming Code)

  • 기능: 에러 검출 + 수정 가능
  • 원리:
    • 정보 비트 사이에 패리티 비트를 삽입하여 오류 위치 파악
    • 조건식: 2^p ≥ d + p + 1 (p: 패리티 비트 수, d: 데이터 비트 수)
  • 예시:
    • 전송: 1011 → 해밍 코드로 변환 → P1 P2 1 P3 0 1 1
    • 수신: 오류 위치 계산 후 해당 비트를 수정 가능

해밍 코드 생성 방법
해밍 코드 생성 방법2


✅ 요약

구분 코드 특징

수치 표현 코드 BCD (8421), 3초과, 그레이 코드 BCD는 간단하나 연산 어려움, 그레이 코드는 1비트 변화
문자 표현 코드 ASCII, EBCDIC, Unicode ASCII는 128문자, EBCDIC은 IBM, 유니코드는 다국어 지원
에러 제어 코드 패리티, 해밍 코드 패리티는 검출, 해밍은 검출+수정 가능

 

+ Recent posts