본문 바로가기
컴퓨터 이론/논리회로 & 컴퓨터구조

04. 이진 코드와 에러검출 코드

by 컴퓨터공부용 2023. 12. 4.

이진 코드

가중치 코드 : 각 자릿수가 고유값인 가중치를 가진 코드 (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

댓글