본문 바로가기
ETC

전자계산기 코드의 분류

by Planetis 2017. 2. 27.

 분류 방법

 코드 종류

 가중치 코드[각주:1]

 (Weight Code)

 8421 코드, 2421 코드, 7421 코드, 8421 코드, 5421 코드, 51111 코드, Biquinary 코드, Ring Counter 코드

 비가중치 코드

 (Unweight Code)

 3초과 코드, 그레이 코드, 2-out-of-5 코드, 3-out-of-5 코드

 자기 보수 코드[각주:2]

 (Self Complement Code)

 3초과 코드, 2421 코드, 5211 코드, 51111 코드, 8421 코드

 에러 검출 코드

 (Error Detecting Code)

 패리티 비트 코드, 해밍 코드, Biquinary 코드, Ring Counter 코드, 2-out-of-5 코드, 3-out-of-5 코드


8421 코드

4bit, (8, 4, 2, 1)의 가중 값을 가짐

2진화 10진수(BCD: Binary-Coded Decimal)로 사용될 때는 10진수 0-9까지 표현

2진 표현으로 16가지 표현, 그 중 0~9까지만 사용


2421 코드

4bit, (2, 4, 2, 1)의 가중 값을 가짐

자기 보수 코드

2진 표현으로 16가지 표현, 그 중 2~7까지 6가지는 중복 표현


3초과 코드

비가중치 코드면서 자기 보수 코드

8421 코드를 3초과시켜서 만든 코드

8421 코드는 뒤에 6개 코드 값을 사용하지 않지만, 3초과 코드는 앞에 3개, 뒤에 3개 코드를 사용하지 않음.

3초과 코드 연산시는 캐리 발생 여부만 판별해서 3을 더해주거나 3을 빼주면 되기 때문에 8421에 비해 편리


Gray 코드

각 자리에 일정한 값을 부여하는 가중치 값이 없는 비가중치 코드

한 비트의 변환만으로 다음 값을 만들 수 있기 때문에 변화가 적다.

기계적인 동작을 제어하는데 알맞는 코드, 입출력 장치의 동작이나 아날로그 신호를 디지털 신호로 변환하는데 사용

2진 코드 <-> 그레이 코드 변환시 최상위 비트(MSB:Most Significant Bit)는 변하지 않고 그대로 Gray Code로 변환.

2진코드 -> 그레이 코드로 변환시

좌측 비트에서 오른쪽으로 이웃한 비트를 XOR 연산하여 차례로 그레이 코드의 다음 비트로 만들어 간다.

그레이 코드 -> 2진코드 변환시

변환된 2진 코드와 그레이코드 오른쪽으로 이웃한 비트를 XOR 연산하여 차례로 Binary Code의 다음 비트를 만들어 간다.


패리티 비트 코드

2진수로 이루어진 코드에서 1의 개수가 홀수 개가 되는지 짝수 개가 되는지를 체크하기 위해 추가되는 비트를 의미

1bit 오류 검출이 가능하다.

짝수 개의 오류가 발생하면 오류를 검출하지 못하는 경우가 생길 수 있다.

전송된 비트열에 오류가 발생했다는 것을 알아도 전송 전의 내용을 알 수 없다.


해밍 코드

데이터 비트에 패리티 비트를 추가하여 오류 검출 후 오류 정정까지 가능한 코드

패리티 비트는 데이터비트보다 적게 들어간다.

짝수 패리티 비트는 2^n 번째 자리에 추가하게 된다.

EX) 1011에 짝수 패리티 비트를 추가하면 0110011

즉, 4bit 자료를 전송하기 위해서 3bit의 패러티 비트를 추가한다.

모든 1bit 오류는 감지해서 바로 잡을 수 있다. 2bit 오류도 감지 할 수 있다.


착오 체크 예제

0

1

1

0

0

0

1

0


1


0

 

1

 

1

1

 

 

0

1

 

 

 

0

0

0

1


각 회차별 위치의 1값이 짝수인지 체크하여 짝수면 0, 홀수면 1

1차 체크 1, 3, 5, 7 번째 - 짝수이므로 0

2차 체크 2, 3, 6, 7 번째 - 1

3차 체크 4, 5, 6, 7 번째 - 1

결과를 마지막부터 왼쪽으로 배치하여 2진수 110가 나옴. 10진수로 변환하면 6. 6번째 비트가 잘못되었으니, 6번째 비트를 1로 변경하면 오류 정정

  1. 2진수 각 자리마다 고유의 기준치 값이 있는 코드 [본문으로]
  2. 1의 보수 값과 10진수의 9의 보수 값이 같은 코드 [본문으로]
320x100

'ETC' 카테고리의 다른 글

스마일 특수문자 ☺, ☻, ☹  (0) 2019.01.09
데이터베이스, 스키마  (0) 2017.02.28
2진-5진 코드 biquinary code  (0) 2017.02.27
png 파일 - Portable Network Graphics  (0) 2016.01.25
체크 표시 특수 문자 ✓, ✔, ☐, ☑  (0) 2014.05.20

댓글