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