대학교/디지털논리회로

디지털논리회로 - (3) BCD, 패리티, 해밍 코드

매 석 2023. 3. 29. 20:24
반응형

- 숫자 코드

-BCD 코드(8421 코드) : 0~9까지만 사용하고, 10~15는 사용하지 않는다.

- 3초과 코드 : BCD코드에 3을 더하여 나타낸 코드이다.

EX) 0000 -> 0011, 0001->0100

- 가중치 코드 : 각 비트 위치에 따라서 값이 정해진 코드이다.

- 비가중치 코드 : 각 위치에 해당하는 값이 없는 코드를 말한다.

- 그레이 코드 : 가중치가 없는 코드로 연산에 부적당하나, 입출력 장치 코드로 주로 쓰인다.

+ 규칙성이 없기에 변환하는 방법을 알고 있어야 한다.

- 에러 검출 코드

- 패리티 비트 : 에러 검출 코드로 가장 간단하게 사용하는 코드

- 짝수 패리티 : 데이터에서 1의 개수를 짝수로 맞추어 주는 방식

- 홀수 패리티 : 데이터에서 1의 개수를 홀수로 맞추어 주는 방식

- 병렬 패리티 : 에러를 검출하여 그 위치를 찾아 정정하기 위해 사용한다.

+ 코드의 효율 = 전송 비트 수 / 총 비트 수 = 7*5 / (7+1)*(5+1) = 72.92%

- 해밍 코드 : 한 비트에 에러가 발생했을 때 그 위치를 찾아 정정할 수 있게만든 코드이다.

+ 데이터 비트와 패리티 비트와의 관계 (p는 패리티 비트 수, d는 데이터 비트의 수)

- 해밍 코드 패리티 비트 검사 과정

-> 검사 후 값을 거꾸로 나열하면 0101이 나온다.

이는 5를 의미하며 5번째 비트에 에러가 발생하였기에 그 값을 바꿔주면 된다.

 

 

- 문자 코드

- ASCII : 128가지의 문자를 표현 가능 (패리티 1, 존 3, 디지트 4)

- 표준 BCD 코드 : 6비트로 하나의 문자를 표현, 최대 64문자까지 표현 가능한 코드

- EBCDIC 코드 : 256종류의 문자 코드를 표현할 수 있는 영숫자 코드

- 유니코드 : 모든 문자에 대해 고유 번호를 제공한다.

- 한글코드 : 16비트를 사용하여 하나의 문자를 표현, 조합형과 완성형으로 분류된다.