반응형
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 |