프로그래밍

[컴퓨터 구조] 디지털 코드

판다의 삶 2020. 5. 13. 11:03
728x90

1. BCD 코드
: 0~9까지 10진수를 2진수 4자리로 표현하는 코드
8, 4, 2,1의 가중치를 가짐
※ BCD 수를 가산한 결과 각 자릿수의 4비트가 10개의 BCD 수(0000~1001)에 포함되어 있으면 그 자체가 BCD 값이 된다.
※ 각 자릿수의 4개 비트가 10개의 BCD 수에 포함되어 있지 않거나, 자리 올림이 발생하면 그 값에 1001(6)을 더해주어야 한다.

2. 3초과 코드
: BCD코드에 0011(3)을 더한 코드.
→ 나머지 6개의 코드(0000,0001,0010,1101,1110,1111) 미사용.
가중치를 가지지 않음.
10진수의 3초과 코드로 표시된 2진수에 대한 1의 보수를 반전시켜 9의 보수를 간단히 만들 수 있음.

3. 그레이 코드
: 서로 이웃하는 숫자와 1개의 비트만 다른 코드
→ 코드 입력시 오류가 적음.


2진수에서 그레이 코드로 변환
① 2진수의 최상위 비트는 그대로 그레이 코드의 최상위 비트가 됨.
② 2진수의 최상위 비트와 다음 비트를 더함.
③ 자리 올림수를 제거한 나머지를 그레이 코드로 취함. 나머지도 같은 방법으로 실시.


그레이 코드에서 2진수로 변환
① 그레이 코드의 최상위 비트는 그대로 2진수의 최상위 비트가 됨.
② 2진수의 최상위 비트와 그레이 코드의 다음 비트를 더함.
③ 자리 올림수를 제거한 나머지를 2진수로 취함. 나머지도 같은 방법으로 실시.

4. ASCII 코드
(American Standard Coded for Information Interchange)
: 영문자, 숫자, 기호를 표현하는 2진 코드
7bit 코드(0~127)로 영어 대문자 26자, 소문자 26자, 숫자 10자, 특수문자를 포함.
그러나 대부분의 컴퓨터는 8bit 단위로 처리하므로 1byte에 저장됨.

5. UNICODE
: 언어와 상관없이 모든 문자를 표현하는 2진 코드
16bit 코드(0~65535)로 한글, 한자를 포함.
전 세계 주요 컴퓨터 회사들이 업계 표준으로 규정한 만국 공통 문자 코드로서 세계 각국의 언어를 통일된 방법으로 표현할 수 있게 제안된 국제적인 코드 규약.

6. EBCDIC 코드
(Extended Binary Decimal Interchange Code)
: IBM사에서 개발한 BCD를 확장하여 8bit의 문자 데이터를 표현하는 코드
8bit 코드(0~256)로 영문자, 숫자, 특수문자를 포함.
알파벳 소문자를 표현하지 못하는 BCD코드의 문제 해결을 위해 개발된 코드로 
대형 컴퓨터에 많이 사용됨.

7. 패리티 비트 코드
: 잡음으로 인한 데이터의 오류를 검사하기 위해 전체 1의 비트를 항상 짝수나 홀수 개를 유지하도록 첨가하는 비트 코드

 

짝수 패리티
1의 개수가 짝수이면 최상위 비트를 0, 홀수이면 1로 하여 1의 비트 수를 짝수로 만듦.

 

홀수 패리티
1의 개수가 홀수이면 최상위비트를 0, 짝수이면 1로 하여 1의 비트 수를 홀수로 만듦.
※ 오류가 난 단일 비트의 위치를 검출하여 수정할 수 없다.

8. 해밍코드
: 한 데이터 내에서 오류가 난 단일 비트의 위치를 검출할 수 있는 코드.
데이터의 길이에 관계없이 구성 가능.


4자리 2진수 BCD 코드의 해밍코드 변환
① 정보는 3,5,6,7자리에 쓴다.
② 첫번째 검출비트는 1,3,5,7자리의 짝수 패리티가 되도록 선택한다.
③ 두번째 검출비트는 2,3,6,7자리의 짝수 패리티가 되도록 선택한다.
④ 세번째 검출비트는 4,5,6,7자리의 짝수 패리티가 되도록 선택한다.

728x90