이진 코드 종류 (BCD, 2421, Excess-3, 그레이 코드)

2026. 4. 8. 22:54·IT Dictionary/Software
반응형

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

  • 가장 대표적인 가중치(Weight) 코드로, 십진수 0부터 9까지를 각각 4비트의 이진수로 표현
  • 특징: 우리가 사용하는 십진수와 1:1 매칭이 되어 읽기 편리
  • 가중치: 각 자릿수가 8, 4, 2, 1의 값을 가짐
  • 제한: 4비트로 표현 가능한 16개(2^4) 조합 중 10개(0000~1001)만 사용하며, 나머지 *010~1111은 사용하지 않는 '허용되지 않는 상태' 

 

2. 2421 코드

  • 각 비트의 가중치가 순서대로 2, 4, 2, 1인 가중치 코드
  • 특징 (자기 보수 코드): 어떤 수의 1의 보수를 취하면 십진수 '9의 보수'가 되는 성질이 있어 뺄셈 연산에 유리
    • 예시 : 2421 코드를 사용하는 십진수 4(0100)의 1의 보수는 십진수 5(1011)임 → 4의 9의 보수값과 동일
  • 주의: 하나의 십진수를 표현하는 방법이 여러 개일 수 있음(예: 2는 0010 또는 1000), 보통 특정 규칙에 맞춰 한 가지만 사용

 

3. Excess-3 Code

  • BCD 코드에 이진수 3(0011)을 더해서 만든 코드
  • 비가중치 코드: 자릿수마다 정해진 값이 없음
  • 자기 보수(Self-Complementing) 특성: 2421 코드와 마찬가지로 비트를 반전시키면 9의 보수를 얻을 수 있어 연산이 간편
  • 장점: 모든 비트가 0인 상태(0000)가 존재하지 않아, 회로에서 신호가 끊긴 것과 숫자 0을 구분하기 좋음

 

4. 그레이 코드 (Gray Code)

  • 연속된 숫자로 변할 때 오직 한 개의 비트만 변하도록 만든 코드
  • 최상위 비트(MSB)는 그대로 쓰고, 앞의 2진 비트와 현재 2진 비트를 비교하여 XOR 연산
    • 예시 : 2를 그레이 코드로 변환하고 싶다면 1(0001)과 2(0010)을 XOR 연산 = 0011
  • 비가중치 코드: 연산보다는 데이터 전송이나 입출력 장치에 주로 사용
  • 장점: 데이터 전송 시 비트가 동시에 여러 개 변할 때 발생할 수 있는 오류(에러)를 최소화 (예: 십진수 1(0001) → 2(0011))
  • 활용: 샤프트 엔코더, A/D 변환기 등 하드웨어 제어 분야에서 필수적

 

십진수 BCD (8421) 2421 코드 3 초과 (Excess-3) 그레이 코드
0 0000 0000 0011 0000
1 0001 0001 0100 0001
2 0010 0010 0101 0011
3 0011 0011 0110 0010
4 0100 0100 0111 0110
5 0101 1011 1000 0111
반응형

'IT Dictionary > Software' 카테고리의 다른 글

UML(Unified Modeling Language) 다이어그램  (0) 2026.04.21
애자일 모델 (SDLC의 종류)  (0) 2026.04.20
V 모델 (SDLC의 종류)  (0) 2026.03.29
부동 소수점(Floating Point) 표현  (0) 2026.03.29
리엑트(React)란?  (2) 2023.05.02
'IT Dictionary/Software' 카테고리의 다른 글
  • UML(Unified Modeling Language) 다이어그램
  • 애자일 모델 (SDLC의 종류)
  • V 모델 (SDLC의 종류)
  • 부동 소수점(Floating Point) 표현
MutJangE
MutJangE
즐거운 인생
  • MutJangE
    MutJangE
    MutJangE
  • 전체
    오늘
    어제
    • 분류 전체보기 (127)
      • IT Dictionary (98)
        • Hardware (4)
        • OS (6)
        • Software (17)
        • Data Structure (7)
        • Algorithm (8)
        • Database (10)
        • Network (15)
        • Linux (1)
        • Cloud (1)
        • Tool's Guide (1)
        • 정보보안산업기사 (24)
        • CTF & 보안 (4)
      • 일상 (10)
        • 배포중인 웹 서비스 (0)
        • CERT병 (7)
        • 토익 (0)
      • 프로그래밍 (19)
        • Java (1)
        • C# (6)
        • Unity (7)
        • React (4)
        • React native (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.5
    MutJangE
    이진 코드 종류 (BCD, 2421, Excess-3, 그레이 코드)
    상단으로

    티스토리툴바