Download presentation
Presentation is loading. Please wait.
Published byAnnabella Lane Modified 6년 전
1
4. 디지털 코드 디지털 코드의 종류와 의미를 알고, 이를 표현할 수 있다. BCD 코드로 표현한 자료끼리 연산할 수 있다.
3초과 코드와 그레이 코드의 용도를 알 수 있다. 영문자를 ASCII 코드와 EBCDIC 코드로 표현할 수 있다. 완성형 코드와 조합형 코드를 구분하여 표현할 수 있다. 유니 코드의 용도를 설명할 수 있다. 학 습 목 표 1. 2진 숫자 코드 1 BCD 코드 BCD (Binary Coded Decimal)코드는 0에서 9까지의 10진수를 2진수인 0과 1의 조합으로 표시하는 코드이다. 1. 10진수보다 자릿수가 많다. 2. 0과 1로 표현되므로 컴퓨 터에 바로 적용할 수 있다. 3. 10진수와 동일한 방식으로 표현되므로 쉽다. 특성 10진수 BCD 코드 0000 5 0101 1 0001 6 0110 2 0010 7 0111 3 0011 8 1000 4 0100 9 1001 B C D 코 드 표
2
2진수와 BCD 코드의 차이점 2진수 BCD 코드 각자리마다 무게값이 있다. 10진수 한자리를 4비트로 구성된 2진수로 표현. 4개의 비트 사용시 0000 ~ 1111까지 16개 표현이 가능하나 10개만 사용하고 1010 ~ 1111까지는 사용하지 않는다. 기초 예제 1 십진수 256의 2진수와 BCD 코드 표시. 10 진수 2진수 BCD 코드 256 풀 이 2 5 6 기초 예제 2 십진수 52.76을 BCD 코드로 표현 하시오. 10 진수 BCD 코드 52.76 풀 이 5 2 7 6
3
예제 22 ▶ 를 BCD로 바꾸어서 연산하시오. 10진 연산 BCD 연산 + 36 42 78 풀 이 예제 23 ▶ 7 + 5를 BCD로 바꾸어서 연산하시오. 10진 연산 BCD 연산 7 + 5 12 풀 이 0111 0101 1100 0110 (BCD 수가 아님) (6을 더함.) (BCD 수로 12) 자리올림 발생
4
비트마다 자리값이 없으므로 가중치 없는 코드(Unweighted Code)라고 한다.
2 3초과 코드 3초과 코드(Excess-3)는 BCD 코드의 변형된 형태로 , BCD 코드에 10진수 3 (2진수로 0011)을 더한 것으로 16개의 2진수 중 0011~1100까지의 10개의 코드로 10진수 0~9까지 대응 시킨것이다. 따라서, 나머지 6개의 코드(0000, 0001, 0010, 1101, 1110, 1111)는 사용하지 않는다. 10진수 BCD 코드 3초과 코드 0000 0011 1 0001 0100 2 0010 0101 3 0110 4 0111 5 1000 6 1001 7 1010 8 1011 9 1100 3 초 과 코 드 표 비트마다 자리값이 없으므로 가중치 없는 코드(Unweighted Code)라고 한다.
5
예제 24 ▶ 를 BCD로 바꾸어서 연산하시오. 10진 연산 BCD 연산 69 + 85 154 풀 이 (양쪽 BCD 아님) (양쪽에 6을 더함.) (BCD 수로 154) 자리올림 발생
6
또, 간단히 2진수 코드로 바꿀 수 있어 입출력장치, 데이터 전송, 아날로그 변환기 등에 이용 한다. 10진수 2 진수
3 그레이 코드 그레이 코드는 사칙연산에는 부적당 하지만 서로 이웃하는 숫자와 1개의 비트만 변하게 되어 있으므로 입력코드로 사용할 때 오류가 적은 특성을 가진다. 또, 간단히 2진수 코드로 바꿀 수 있어 입출력장치, 데이터 전송, 아날로그 변환기 등에 이용 한다. 10진수 2 진수 그레이 코드 0000 1 0001 2 0010 0011 3 4 0100 0110 5 0101 0111 6 7 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 13 14 15 그 레 이 코 드 표
7
10진수 3은 2진수 값이 0011이며 이를 그레이코드로 변환하시오.
그레이 코드에서 2진수로 변환 방법 기초 예제 1 10진수 3은 2진수 값이 0011이며 이를 그레이코드로 변환하시오. 방법 2진수 최상위 비트는 그대로 그레이 코드의 최상위 비트가 된다. 1 2 2진수의 최상위비트와 그 다음 비트를 더하여 자리올림수를 제거한 나머지를 그레이 코드로 취한다. 3 나머지 비트도 2의 방법으로 반복한다. 풀이 더한 다음 자리올림수를 제거한 나머지를 취한다. → ② → ④ → ⑥ 2진수 1 1 ↓ ① ↓ ③ ↓ ⑤ ↓ ⑦ 그레이 코드 1
8
예제 25 ▶ 2진수 1011을 그레이 코드로 변환 하시오. 더한 다음 자리올림수를 제거한 나머지를 취한다. 풀이 → ② → ④ → ⑥ 2진수 1 1 1 ↓ ① ↓ ③ ↓ ⑤ ↓ ⑦ 그레이 코드 1 1 1 예제 26 ▶ 2진수 0111을 그레이 코드로 변환 하시오. 더한 다음 자리올림수를 제거한 나머지를 취한다. 풀이 → ② → ④ → ⑥ 2진수 1 1 1 ↓ ① ↓ ③ ↓ ⑤ ↓ ⑦ 그레이 코드 1
9
10진수 3은 그레이 코드 값이 0010이다. 이를 2진수로 변환하시오.
그레이 코드에서 2진수로 변환 방법 기초 예제 2 10진수 3은 그레이 코드 값이 0010이다. 이를 2진수로 변환하시오. 방법 그레이 코드의 최상위 비트를 그대로 2진수로 한다. (과정 ①) 1 2 과정 ①의 결과를 그레이 코드의 다음 비트와 더하여(과정 ②) 자리 올림을 제거하고 2진수로 취한다. 3 나머지 비트도 ② 의 방법으로 반복한다. 풀이 ② , ④ , ⑥ 은 더한 다음 자리올림수를 제거한 나머지를 취한다. 그레이 코드 1 1 ② ④ ⑥ ↓ ① ③ ↓ ↓ ⑤ ↓ ⑦ 2 진수 1
10
1 1 1 ↓ ↓ ↓ ↓ 1 1 1 1 ↓ ↓ ↓ ↓ 1 1 1 ▶ 그레이 코드 1110을 2진수로 변환 하시오.
예제 27 ▶ 그레이 코드 1110을 2진수로 변환 하시오. 풀이 ② , ④ , ⑥ 은 더한 다음 자리올림수를 제거한 나머지를 취한다. ② ④ ⑥ 그레이 코드 1 1 1 ② ④ ⑥ ↓ ① ③ ↓ ↓ ⑤ ↓ ⑦ 2 진수 1 1 1 예제 28 ▶ 그레이 코드 0100을 2진수로 변환 하시오. 풀이 ② , ④ , ⑥ 은 더한 다음 자리올림수를 제거한 나머지를 취한다. ② ④ ⑥ 그레이 코드 1 ② ④ ⑥ ↓ ① ③ ↓ ↓ ⑤ ↓ ⑦ 2 진수 1 1 1
11
문자 7Bit Ascii 8진수 16진수 아 스 키 테 이 블 표 2 - 9 A 100 0001 101 41 B
101 41 B 102 42 C 103 43 D 104 44 E 105 45 F 106 46 G 107 47 H 110 48 I 111 49 J 112 4A K 113 4B L 114 4C M 115 4D N 116 4E O 117 4F P 120 50 Q 121 51 R 122 52 S 123 53 T 124 54 U 125 55 V 126 56 W 127 57 X 130 58 Y 131 59 Z 132 5A 060 30 1 061 31 2 062 32 3 063 33 4 064 34 5 065 35 6 066 36 7 067 37 8 070 38 9 071 39 BLANK 040 20 . 056 2E ( 050 28 + 053 2B $ 044 24 * 052 2A ) 051 29 - 055 2D / 057 2F , 454 1C = 075 3D <Return> 015 0D <Linefeed> 012 0A 탐구문제 되돌아 가기
12
문자 코드 내의 전체 1의 비트가 짝수 개가 되거나 홀수 개가 되도록 그 코드에
4 패리티 비트와 해밍 코드 1 패리티 비트 문자 코드 내의 전체 1의 비트가 짝수 개가 되거나 홀수 개가 되도록 그 코드에 붙이는 비트를 패리티(Parity Bit)라고 한다. 패리티 비트 패 리 티 코 드 이븐(짝수) 패리티 1 1 1 1 (1의 개수가 짝수개 이므로 0) 오드(홀수) 패리티 1 (1의 개수가 홀수개 이므로 1) 용도 ☞ 패리티 비트를 이용하면 디지털 통신에서 오류가 발생한 것을 찾을 수 있다. (에러 수정 기능은 없음.)
13
패리티 기능을 확장한 형태로 에러검출 및 에러 수정기능을 가지고 있다.
2 해밍 코드 패리티 기능을 확장한 형태로 에러검출 및 에러 수정기능을 가지고 있다. 사용법 3 5 6 7 bit 1 2 4 D1 D2 D3 D4 + P1 P2 P3 D1 D2 D3 D4 P1 P2 P3 (4개의 정보 비트) (3개의 체크 비트) (결합된 형태) 해밍코드 발생 순서 P1 1, 3, 5, 7행에 대해서 짝수 패리티가 되도록 한다. P2 2, 3, 6, 7행에 대해서 짝수 패리티가 되도록 한다. P3 4, 5, 6, 7행에 대해서 짝수 패리티가 되도록 한다.
14
10진수 3 (2진수 0011)에 대한 해밍코드를 구하시오. 예제 29 풀이 D1 D2 D3 D4 + P1 P2 P3 2진 Data 0011을 대응 시킨다. 1 3 5 6 7 bit 1 2 4 D1 D2 D3 D4 P1 P2 P3 1, 3, 5, 7행에 대해서 짝수 패리티가 되도록 한다. (첫비트가 1이 되어야 짝수) 2, 3, 6, 7행에 대해서 짝수 패리티가 되도록 한다. (두 번째 비트가 0이 되어야 짝수) 4, 5, 6, 7행에 대해서 짝수 패리티가 되도록 한다. (네 번째 비트가 0이 되어야 짝수) 1 1 1 1, 3, 5, 7행에 대해서 짝수 패리티를 검사하여 C1 2 2, 3, 6, 7행에 대해서 짝수 패리티를 검사하여 C2 3 4, 5, 6, 7행에 대해서 짝수 패리티를 검사하여 C3 4 C3C2C1순으로 배열한다. 5 C3C2C1값이 오류 발생의 위치이며 C3C2C1=000은 오류가 발생하지 않은 것이다. C3C2C1=000
15
수신된 데이터가 짝수 패리티를 갖는 7비트 데이터 1000010인 경우 오류의 발생 위치를 찾아 내시오.
예제 30 풀이 3 5 6 7 bit 1 2 4 D1 D2 D3 D4 P1 P2 P3 1, 3, 5, 7행에 대해서 짝수 패리티가 되도록 한다. (첫비트가 0이 되어야 짝수) => 1로 되어 있음. P1 2, 3, 6, 7행에 대해서 짝수 패리티가 되도록 한다. (두 번째 비트가 1이 되어야 짝수) => 0로 되어 있음 P2 4, 5, 6, 7행에 대해서 짝수 패리티가 되도록 한다. (네 번째 비트가 1이 되어야 짝수) => 0로 되어 있음 P3 1 (7비트 데이터) 1 따라서 C1= 1 C1 1 2 따라서 C2 = 1 C2 1 3 따라서 C3 = 1 C3 1 4 C3C2C1순으로 배열한다. C3C3C3 = 111 5 C3C2C1값이 오류 발생의 위치이며 C3C2C1 = 000은 오류가 발생하지 않은 것이다. 따라서 오류가 발생되었음을 알수 있다. 결과 C3C2C1값이 오류 발생의 위치이며 C3C2C1 =111이므로 7행에서 오류가 발생하였고 실제 데이터는 임을 알수 있다.
16
2. 2진 문자 코드 컴퓨터에서 데이터를 처리할 때 항상 숫자만 사용하는 것이 아니라 영문자도 사용한다.
이와 같이 0~9, A~Z및 +, -등과 같은 특수문자를 코드화 한 것을 2진 문자코드라 하고 여기에는 S-BCD코드, Ascii코드, EBCDIC코드 등이 있다. 1 ASCII 코드 아스키 문자판. 컴퓨터에서 일반적으로 사용되는 글쇠판으로 표준 아스키 문자 집합에 포함되어 있는 128개의 문자(특수 기호 등 96개의 문자와 32개의 제어 문자)로 입력할 수 있는 것을 가리킨다. 아스키 코드의 구조 데이터 비트 000 영문자 A ~ O 를 표시함. 001 영문자 A ~ O 를 표시함 010 011 100 101 110 111 존비트 디짓비트 존 비 트 b1 b2 b3 b4 b5 b6 b7
17
▶ 다음 Ascii 코드가 무엇을 나타내는지 찾아보시오.
예제 31 ▶ 다음 Ascii 코드가 무엇을 나타내는지 찾아보시오. 풀이 각 7비트를 16진수로 나타내면 48 45 4C 50 Ascii 테이블에서 찾아보면 H E L P ☞ Ascii 코드를 이용하는 일반 개인용 PC에서 HELP라는 단어는 / / / 으로 저장되어 있다.
18
EBCDIC 코드 1 ▶ IBM의 대형 컴퓨터에서 많이 사용하는 코드로 1개의 영숫자 코드가 8비트로 구성되어 있다.
데이터 비트 존비트 디짓비트 b1 b2 b3 b4 b5 b6 b7 0000 영문자 A ~ O 를 표시함. 001 영문자 A ~ O 를 표시함 010 011 100 101 110 111 E B C D I 비 트
19
3. 한글 코드 ▶ 한글을 구현하는 코드에는 완성형, 조합형, N-바이트 형의 3가지가 있다. 1 2바이트 완성형 코드
완성형은 완성된 글자를 일종의 그림처럼 다루는 방식으로 한글을 순서대로 늘어놓고 각각의 낱자에 코드를 부여하는 방식이다. 표현범위는 한글 2350자, 한문 4888자, 특수문자 1128자를 표현을 하는데 여기서 문제점은 한글을 모두 표현을 못하고 정렬할 때 제대로 정렬하지 못한다는 단점이 있다.
20
2 2바이트 조합형 코드 1 1 초성 “ㄱ” 중성 “ㅏ” 종성 “ㅇ”
2바이트 조합형 코드는 한글을 초성, 중성, 종성의 세 부분으로 쪼개어 표현하는 방식입니다. 한글은 초성 19자, 중성 21자, 종성 27자로 구성되는 것은 웬만한 분이면 아실 것이라 봅니다. 2바이트 조합형 코드에서는 초성, 중성, 종성을 각각 5비트로 표현하고 이를 묶어서 2바이트로 만들어서 한글자의 한글로 표현합니다. 이 때 초성, 중성, 종성에 각각 5비트를 할당하면 2바이트 중에서 첫 번째 바이트의 최상위 비트(MSB)가 하나 남는데, 이것은 한글과 영문을 구별하는 용도로 사용됩니다. 즉 최상위 비트가 1이면 2바이트가 한글 한 자가 되고, 0이면 영문 두 자가 되는 것입니다. 조합형의 한글 표현 ‘강’ 의 한글 구현 방법 ▷ 첫 바이트 ▷ 두 번째 바이트 1 1 영문 => 0 한글 => 1 초성 “ㄱ” 중성 “ㅏ” 종성 “ㅇ” ▶ 장점 ☞ 자음과 모음으로 조합 가능한 모든 한글을 사용할 수 있으며, 심지어 우리나라 고어까지 취급할 수 있습니다. 현대 한글의 대부분이 표현가능 합니다
21
조합형과 완성형의 비교 조 합 형 완 성 형 표현 방법 한글 코드 발생 자소 구분 한자 사용
구 분 조 합 형 완 성 형 표현 방법 자소에 의미 부여 조합할 수 있는 모든 글자 표현 (한글 자) 음절에 의미 부여 사용 빈도에 따라 추출된 한글 2350자만 지원 한글 코드 발생 한글 자소 입력 한글 오토마타 조합형 코드 발생 한글 자소 입력 한글 오토마타 조합형 코드 발생 한글 코드 변환 테이블 완성형 코드 발생 자소 구분 자소당 5비트 끊으면 가능 구분하기 위해서 먼저 조합형 코드로 변환 해야 한다. (변환 테이블 이용) 한자 사용 현재 수용하고 있지 않음 (5천여자 수용 가능) 4884자를 수용하고 있음
22
4. 유니 코드 유니코드는 텍스트나 스크립트 문자에 대한 바이너리 코드를 확립하기 위한 완전히 새로운 아이디어이다. 공식적으로는 세계문자 표준 - 유니코드라고 불리는 이 코드체계는 세계 각국의 다양한 현대 언어로 작성된 텍스트에 대해 상호교환, 처리, 및 표현을 용이하게 하기 위한 시스템이다. 현재 유니코드 표준은 24개 언어를 지원하기 위해 34,168개의 개별 코드문자를 담고 있는데, 이 문자들은 세계 주요 언어로 작성된 문자들을 모두 충족시키기에 충분하며, 심지어 여러가지 언어로 작성된 고문서(古文書)까지도 지원할 수 있다. 현재 아직 포함되지 않은 몇 가지 현대 언어를 추가하기 위한 작업이 진행중이다. 유니코드 표준은 버전 1.0 이며 다음의 사이트에서 구해볼 수 있다.
23
▷ 탐구 문제 <1> 표 2 - 9는 ASCII 표의 일부이다.
(검색어 : 아스키 코드) <2> 인터넷의 여러 가지 검색 엔진을 이용하여 2바이트 완성형 한글 코드표와 2바이트 조합형 한글 코드표를 찾아보자. (검색어 : 완성형 코드, 조합형 코드) 표 바로가기
24
단원 학습정리 1. 진수의 변환 2. 2진수의 연산 3. 실수의 표현
2진수를 10진수로 변환하는 경우는 2진수 각 자리의 가중치를 이용하여 전개한다. 반대로, 10진수를 2진수로 변환하는 경우는 10진수를 2로 나누어 몫과 나머지를 구하고, 그 몫이 0이 될 때까지 그 과정을 반복한 다음 구해진 나머지를 역순으로 써 나간다. 2진수와 8진수 사이 변환은 2진수 세 자리를 8진수 한 자리로 변환한다. 2진수와 16진수 사이 변환은 2진수 네 자리를 16진수 한 자리로 변환한다. 2. 2진수의 연산 1의 보수는 모든 자리를 반전한다. 2의 보수는 모든 자리를 반전하고 1을 더한다. 3. 실수의 표현 실수를 표현할 때에는 지수부와 가수부로 나누어 표시한다.
25
4. 디지털 코드 BCD 코드는 0 ~ 9까지의 10진수를 2진수인 0과 1의 조합으로 표시하는 코드이다.
3초과 코드는 BCD 코드의 변형된 형태로, BCD 코드에 10진수 3(2진수로는 0011)을 각각 더한 코드이다. 그레이 코드는 서로 이웃하는 숫자와 1개의 비트만 변하는 코드로 입력 코드로 사용할 때 오류가 적다. 패리티 비트는 문자 코드 내의 전체 1의 비트가 짝수 개가 되거나 홀수 개가 되도록 하여 그 코드에 덧붙이는 코드이다. 해밍코드는 4개의 순수한 정보 비트에 3개의 체크 비트를 추가하여 만든 코드로 오류의 검출뿐만 아니라, 오류를 정정할 수 있는 코드이다. ASCII 코드는 개인용 컴퓨터에서 주로 사용되는 문자 코드이다. EBCDIC 코드는 IBM의 대형 컴퓨터 등에서 많이 사용되는 코드이다. 완성형은 한글을 음절 문자로 보아 완성형 한글로 사용하는 방식이다. 조합형은 초성 + 중성 + 종성을 하나의 글자로 생각하여 하나의 글자를 초성, 중성, 종성의 결합으로 나타내는 방법이다.
26
Ⅱ. 단원종합문제 1 다음의 10진수 15210를 2진수로 변환하시오. 2
다음의 2진수 를 8진수와 16진수로 변환하시오. 3 다음 2진수의 덧셈을 하시오. ① ② 4 다음은 2의 보수로 표현된 수들이다. 해당하는 10진수의 값을 구하시오. (부호 비트를 포함하여 8비트로 구성된 시스템으로 고려하라.) ① ② 5 5 + 8을 BCD 가산 방법으로 연산한 결과를 고르시오. ③ 1011 ④ ⑤ ① 1101 ② 6 2진수 에 대응하는 그레이 코드값을 고르시오. ③ ④ ⑤ ① ② 7 하나의 영숫자 코드가 7비트로 구성되어 있으며 전체 코드 수가 128인 코드는 어느 것인가? ③ 해밍코드 ④ EBCDIC 코드 ⑤ ASCII 코드 ① 그레이 코드 ② 3초과 코드 8 주로 IBM의 대형장비에서 사용되는 하나의 영숫자 코드가 8비트로 구성되어 있는 것은 어느 것인가? ③ 3초과 코드 ④ EBCDIC 코드 ⑤ ASCII 코드 ① BCD8421 ② 6비트 코드
27
15210 10011000 다음의 10진수 15210를 2진수로 변환하시오. 다음의 10진수 15210를 2진수로 변환하시오.
Ⅱ. 단원종합 1 다음의 10진수 15210를 2진수로 변환하시오. 다음의 10진수 15210를 2진수로 변환하시오. 15210
28
Ⅱ. 단원종합 2 다음의 2진수 를 8진수와 16진수로 변환하시오. 다음의 2진수 를 8진수와 16진수로 변환하시오. 588 588 2E16 2E16
29
Ⅱ. 단원종합 3 다음 2진수의 덧셈을 하시오. 다음 2진수의 덧셈을 하시오. ① ② 10010 10110
30
Ⅱ. 단원종합 4 다음은 2의 보수로 표현된 수들이다. 해당하는 10진수의 값을 구하시오. 다음은 2의 보수로 표현된 수들이다. 해당하는 10진수의 값을 구하시오. ① ② - 13 - 86
31
Ⅱ. 단원종합 5 5 + 8을 BCD 가산 방법으로 연산한 결과를 고르시오. 5 + 8을 BCD 가산 방법으로 연산한 결과를 고르시오. ③ 1011 ④ ⑤ ① 1101 ② ④
32
Ⅱ. 단원종합 6 2진수 에 대응하는 그레이 코드값을 고르시오. 2진수 에 대응하는 그레이 코드값을 고르시오. ③ ④ ⑤ ① ② ②
33
③ 해밍코드 ④ EBCDIC 코드 ⑤ ASCII 코드 ① 그레이 코드 ② 3초과 코드
Ⅱ. 단원종합 7 하나의 영숫자 코드가 7비트로 구성되어 있으며 전체 코드 수가 128인 코드는 어느 것인가? 하나의 영숫자 코드가 7비트로 구성되어 있으며 전체 코드 수가 128인 코드는 어느 것인가? ③ 해밍코드 ④ EBCDIC 코드 ⑤ ASCII 코드 ① 그레이 코드 ② 3초과 코드 ⑤ ASCII 코드
34
③ 3초과 코드 ④ EBCDIC 코드 ⑤ ASCII 코드 ① BCD8421 ② 6비트 코드
Ⅱ. 단원종합 8 주로 IBM의 대형장비에서 사용되는 하나의 영숫자 코드가 8비트로 구성되어 있는 것은 어느 것인가? 주로 IBM의 대형장비에서 사용되는 하나의 영숫자 코드가 8비트로 구성되어 있는 것은 어느 것인가? ③ 3초과 코드 ④ EBCDIC 코드 ⑤ ASCII 코드 ① BCD8421 ② 6비트 코드 ④ EBCDIC 코드
Similar presentations