본문 바로가기

6. 컴퓨터 공학 공부

[126] 컴퓨터구조 08차시 문자 데이터의 표현

1. 영숫자 코드

가. 영숫자 코드 (Alphanumeric Code)

컴퓨터에 사용되는 영문자와 숫자, 특수문자의 데이터를 0과 1의 조합으로 구성된 코드로 표현한 것

종류: 표준 BCD코드, ASCIl 코드, EBCDIC 코드 등

2. 10진 데이터 표현

10진수 1자리를 4비트로 표현

부호도 4비트로 표현(양수 1100, 음수 1101)

가. 존 형식

1바이트에 10진수 1자리 표현

상위 4비트를 존 영역, 하위 4비트를 수치 영역으로 사용

최하위 존 영역에 부호를 표시함.(나머지 존 영역은 1111)

나. 팩 형식

존 영역에서 발생하는 메모리 낭비를 막기 위해 최하위 존 영역을 제외한 모든 존 영역을 제거

 

3. 가중치 코드

가. 8421 코드

8, 4, 2, 1(4비트)의 가중치를 가지는 코드

2진화 10진수(BCD : Binary Coded Decimal)

영숫자 코드에 의한 수치의 표현 방식

문자 하나를 한 자리로 하여 10진 연산

10진수 8 4 2 1
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

나. 2421 코드

2, 4, 2, 1(4비트)의 가중치를 가짐.

자기 보수 코드: 코드(2진수)의 1의 보수가 10진수 9의 보수와 같은 경우

10진수 2 4 2 1
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(4에 대한 9의 보수) 1 0 1 1
6(3에 대한 9의 보수) 1 1 0 0
7(2에 대한 9의 보수) 1 1 0 1
8(1에 대한 9의 보수) 1 1 1 0
9(0에 대한 9의 보수) 1 1 1 1

다. 2-5진 (Bi-quinary) 코드 (5043210코드)

bi는 2를, quinary는 5를 의미함.

최상위 비트 2개로 5보다 큰지 작은지 표시

나머지 비트 5개로 0~4를 표현

모든 10진수 1자리 표현은 총 7개 비트 중 1의 개수가 두 개

1의 개수가 2개인지 확인해서 에러 검출(1의 개수가 2개인 에러는 검출 불가능)

10진수 5 0 4 3 2 1 0
0 0 1 0 0 0 0 1
1 0 1 0 0 0 1 0
2 0 1 0 0 1 0 0
3 0 1 0 1 0 0 0
4 0 1 1 0 0 0 0
5 1 0 0 0 0 0 1
6 1 0 0 0 0 1 0
7 1 0 0 0 1 0 0
8 1 0 0 1 0 0 0
9 1 0 1 0 0 0 0

라. 링 카운터 코드 (Ring Counter Code)

이해하기 매우 쉬움

전자 회로를 사용하여 해독하는 것도 매우 용이함

모든 10진수 1자리 표현은 총 9비트(그 중 1은 1개로 표현)

 10진수 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1 0
2 0 0 0 0 0 0 0 1 0 0
3 0 0 0 0 0 0 1 0 0 0
4 0 0 0 0 0 1 0 0 0 0
5 0 0 0 0 1 0 0 0 0 0
6 0 0 0 1 0 0 0 0 0 0
7 0 0 1 0 0 0 0 0 0 0
8 0 1 0 0 0 0 0 0 0 0
9 1 0 0 0 0 0 0 0 0 0

4. 비가중치 코드

가. 3초과 코드

Excess-3 code, 3초과 코드, 3중 코드

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

비가중치 코드

자기 보수 코드(Self-Complement Code)

10진수 3초과 코드
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

나. Gray 코드

한 비트의 변화만으로 다음 값을 만들 수 있음.

기계적인 동작을 제어하는데 알맞은 코드

입출력 장치의 동작이나 아날로그 신호를 디지털 신호로 변환 등에 사용(A/D 변환기, D/A 변환기)

8421 코드에서 Gray 코드로 변환할 때는 최상위 코드는 그대로 쓰고, 이후 다음 자리수와 XOR 연산을 해서 사용함.

Gray 코드에서 8421 코드로 변환할 때는 최상위 코드는 그대로 쓰고, 이후 방금 쓴 코드와 다음 자리수를 XOR 연산해서 사용함.

10진수 Gray 코드
0 0 0 0 0
1 0 0 0 1
2 0 0 1 1
3 0 0 1 0
4 0 1 1 0
5 0 1 1 1
6 0 1 0 1
7 0 1 0 0
8 1 1 0 0
9 1 1 0 1

https://ko.wikipedia.org/wiki/그레이_부호

 

그레이 부호 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

5. 에러 검출 코드

가. 패리티 비트(Parity Bit)

데이터 전달 시 에러 체크를 위한 비트를 하나 추가함.

2진수로 이루어진 코드에 추가되는 비트

1bit 에러 검출 가능(에러 수정 불가)

짝수 패리티 비트 : 1의 개수가 짝수가 되도록 구성

홀수 패리티 비트 : 1의 개수가 홀수가 되도록 구성

나. 해밍(Hamming) 코드

에러 체크 뿐만 아니라 수정까지 가능한 코드

체크 비트(1번째, 2번째, 4번째, 8번째, ... 에 위치) 사용

예를 들어, 7bit 해밍 코드 일 경우 1번째, 2번째, 4번째가 체크 비트가 됨.

https://ko.wikipedia.org/wiki/해밍_부호

 

해밍 부호 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 선형대수학과 컴퓨터 과학에서 해밍 부호(해밍符號, 영어: Hamming code 해밍 코드[*])는 이진 선형 부호의 일종이다.[1] 거리가 3이므로, 1개 이하의 오류를 교정할

ko.wikipedia.org

6. 표준 BCD 코드

이진화 십진 코드

기본적으로 6비트의 길이를 갖는 코드

존(zone)비트(상위 2비트)와 숫자(digit)비트(하위 4비트)로 분리하고 이를 조합해서 코드 생성

\(2^{6}\)(64) 가지 표현 가능

1) 존 비트에 따른 코드 분류

2) 표준 BCD 코드표

7. ASCII 코드

미국 국립 표준 연구소(ANSI)가 제정

정보 교환용 미국 표준 코드(American Standard Code for Information Interchange)

128(= \(2^{7}\)) 정보를 표현

존 비트(3비트), 숫자 비트(4비트)

1) 존 비트에 따른 코드 분류

2) 표준 ASCII 코드표

3) 확장 ASCII 코드표

8. 유니코드(Unicode)

1991년

제록스(Xerox)와 애플(Apple) 사

2바이트 코드

\(2^{16}\) (65,536) 개 문자 표현

ASCII 코드와의 일관성 유지

앞부분의 256개의 문자는 정확하게 ASCII코드와 일치

https://ko.wikipedia.org/wiki/유니코드

 

유니코드 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 유니의 음반에 대해서는 U;Nee Code 문서를 참고하십시오. 유니코드(영어: Unicode, 정식 명칭 The Unicode Standard)는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현

ko.wikipedia.org