이진 코드
가중치 코드 : 각 자릿수가 고유값인 가중치를 가진 코드 (BCD, 84-2-1, 2421 코드)
비가중치 코드 : 각 자릿수가 가중치를 가지지 않는 코드 (3 초과 코드, 2 out of 5 코드)
자보수화 코드 : 어떤 코드의 1의 보수를 취한 값이 10진수의 9의 보수인 코드 (3 초과 코드)
대표적인 이진코드
BCD코드
10진수 | C3 | C2 | C1 | C0 | C3 = 8, C2 = 4, C1= 2, C0 = 1 각 자리에 위와 같은 가중치 값을 가지는 대표적인 가중치 코드이다. 0부터 9까지의 수만 표현이 가능하며, 자리수가 늘어날 때마다 4비트씩 늘어난다. 우리가 알고있는 이진수 표현을 자리수별로 끊어서 표현한다고 생각하면 된다. |
0 | 0 | 0 | 0 | 0 | |
1 | 0 | 0 | 0 | 1 | |
2 | 0 | 0 | 1 | 0 | |
3 | 0 | 0 | 1 | 1 | |
4 | 0 | 1 | 0 | 0 | |
5 | 0 | 1 | 0 | 1 | |
6 | 0 | 1 | 1 | 0 | |
7 | 0 | 1 | 1 | 1 | |
8 | 1 | 0 | 0 | 0 | |
9 | 1 | 0 | 0 | 1 |
3초과 코드
10진수 | C3 | C2 | C1 | C0 | BCD코드에서 3을 더한 값을 가지는 코드이다. 3초과 코드는 각 자리에 특별한 가중치를 가지지 않는다. 0과 9처럼 0을 보수화 하면 9, 9를 보수화 하면 0로 보수화 된다. 이와 같이 스스로 보수화 되는 코드를 자보수화 코드라고 한다. |
0 | 0 | 0 | 1 | 1 | |
1 | 0 | 1 | 0 | 0 | |
2 | 0 | 1 | 0 | 1 | |
3 | 0 | 1 | 1 | 0 | |
4 | 0 | 1 | 1 | 1 | |
5 | 1 | 0 | 0 | 0 | |
6 | 1 | 0 | 0 | 1 | |
7 | 1 | 0 | 1 | 0 | |
8 | 1 | 0 | 1 | 1 | |
9 | 1 | 1 | 0 | 0 |
패리티 비트
오류 검출을 위해 패리티 비트를 추가한 코드
짝수 패리티 : 1의 비트를 짝수개로 맞추어주는 비트 (데이터가 홀수라면 패리티 비트는 1, 짝수라면 0이 된다.)
홀수 패리티 : 1의 비트를 홀수개로 맞추어주는 비트 (데이터가 홀수라면 패리티 비트는 0, 짝수라면 1이 된다.)
짝수(홀수) 패리티를 이용했는데, 전달받은 데이터의 1의 개수가 홀수(짝수)인 경우 오류가 발생한 것이다.
'컴퓨터 이론 > 논리회로 & 컴퓨터구조' 카테고리의 다른 글
06. 불대수 (1) | 2023.12.06 |
---|---|
05. 논리게이트 (2) | 2023.12.05 |
03. 소수점 표현과 연산 (0) | 2023.12.04 |
02. 음수 표현과 산술 연산 (0) | 2023.12.03 |
01. 진법 표현 및 진법 변환 (0) | 2023.07.25 |
댓글