Professional Documents
Culture Documents
03장 디지털 코드
03장 디지털 코드
디지털 코드
학습목표 및 목차
BCD 코드의 연산
10 진 덧셈 (6+3=9) 10 진 덧셈 (42+27=69)
(8+7=15)
1000
+ 0111
1111
+ 0110 6
0001 0101
01 BCD 코드와 3 초과 코드
3 초과 코드
BCD 코드 (8421 코드 ) 로 표현된 값에 3 을 더해 준 값으로 나타내는 코드
자기 보수의 성질
02 다양한 2 진 코드들
8421 코드 (BCD 코드 )
자기보수 성질 없음
02 다양한 2 진 코드들
2421 코드
자기보수 성질을 가짐
02 다양한 2 진 코드들
5421 코드
자기보수 성질 없음
02 다양한 2 진 코드들
84-2-1 코드
자기보수 성질을 가짐
02 다양한 2 진 코드들
10 2진 그레이 10 2 진 코드 그레이
진수 코드 코드 진수 코드
0 0000 0000 8 1000 1100
1 0001 0001 9 1001 1101 이웃하는 코드간에
2 10 한 비트만 다르다 .
0010 0011 1010 1111
3 0011 0010 11 1011 1110
4 0100 0110 12 1100 1010
5 0101 0111 13 1101 1011
6 0110 0101 14 1110 1001
7 0111 0100 15 1111 1000
03 그레이 코드
⊕ ⊕ ⊕
2진 코드 0 1 1 1
03 그레이 코드
그레이 코드 입력장치 적용 예
15 0 정상 (3) 15 0 에러 (3→7) 0
14 LSB 1 14 1
2 2 2 1
13 13
진 12
MSB
3 포토 12 3 포토
코 센서 센서
11 4 11 4
드 10 5 0011 10 5 0111
9 6 9 6
8 7 8 7
정상 (3)
그 15 0 15 0 에러 (3→4)
14 1 14 1
레 13 2 13 2
그레이
12 3 포토 12 3 포토
이 코드는
센서 센서
11 4 11 4 오차가
코
0010 0110 적음
10 5 10 5
드 6
9 6 9
8 7 8 7
04 에러 검출 코드
1. 패리티 비트
짝수패리티 (even parity) : 데이터에서 1 의 개수를 짝수 개로 맞춤
홀수패리티 (odd parity) : 1 의 개수를 홀수 개로 맞춤
패리티 비트는 데이터 전송과정에서 에러 검사를 위한 추가 비트
패리티는 단지 에러 검출만 가능하며 , 여러 비트에 에러가 발생할 경우에는 검출이
안될 수도 있음
1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 1 1 0
1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1
0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1
1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0
1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1
0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1
1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0
0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0
1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0
가로세로 회색 부분에
가로세로 모두 1 의 1 의 개수가 홀수임 :
개수가 짝수임 겹치는 부분 에러
04 에러 검출 코드
해밍코드에서는 짝수 패리티를 사용
비트 위치 1 2 3 4 5 6 7 8 9 10 11 12
기호 P1 P2 D3 P4 D5 D6 D7 P8 D9 D10 D11 D12
P1 영역
P2 영역
P4 영역
P8 영역
04 에러 검출 코드
8 비트 데이터의 에러 정정 코드
P1 D3 D5 D7 D9 D11
P2 D3 D6 D7 D10 D11
P4 D5 D6 D7 D12
P8 D9 D10 D11 D12
For Example
P1 D3 D5 D7 D9 D11 0 0 0 1 1 0
P2 D3 D6 D7 D10 D11 0 1 0 1 1 1
P4 D5 D6 D7 D12 0 1 0 0 1
P8 D9 D10 D11 D12 1 1 1 0 1
04 에러 검출 코드
해밍코드에서 패리티 비트 생성 과정
비트위치 1 2 3 4 5 6 7 8 9 10 11 12
기호 P1 P2 D3 P4 D5 D6 D7 P8 D9 D10 D11 D12
원본 데이터 0 0 1 0 1 1 1 0
P1 영역 0 0 0 0 1 1
P2 영역 1 0 1 0 1 1
P4 영역 1 0 1 0 0
P8 영역 1 1 1 1 0
생성된 코드 0 1 0 1 0 1 0 1 1 1 1 0
생성된 패리티
04 에러 검출 코드
해밍코드에서 패리티 비트 검사 과정
전송된 데이터 : 010111011110
P1 P2 D3 P4 D5 D6 D7 P8 D9 D10 D11 D12
0 1 0 1 1 1 0 1 1 1 1 0
패리티들을 포함하여 검사
P1 P1 D3 D5 D7 D9 D11 0 0 1 0 1 1 1
P2 P2 D3 D6 D7 D10 D11 1 0 1 0 1 1 0
P4 P4 D5 D6 D7 D12 1 1 1 0 0 1
P8 P8 D9 D10 D11 D12 1 1 1 1 0 0
비트위치 1 2 3 4 5 6 7 8 9 10 11 12
기호 P1 P2 D3 P4 D5 D6 D7 P8 D9 D10 D11 D12
Error 해밍코드 0 1 0 1 1 1 0 1 1 1 1 0
P1 계산 1 0 0 1 0 1 1
P2 계산 0 1 0 1 0 1 1
P4 계산 1 1 1 1 0 0
P8 계산 0 1 1 1 1 0
P8P4P2P1 =0101= 5 : 5 번째 비트에 에러 발생 , 1 → 0 으로 교정
05 영숫자 코드
b7 b6 b5 b4 b3 b2 b1 b0
ASCII 코드의 구성
parity zone bit digit bit
7 6 5 4 3 2 1 0
1 0 0 영문자 A~O(0001~1111)
C 1 0 1 영문자 P~Z(0000~1010)
0 1 1 숫자 0~9(0000~1001)
05 영숫자 코드
표준 ASCII 코드표
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI
1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
3 0 1 2 3 4 5 6 7 8 9 : ; = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k ㅣ m n o
7 p q r s t u v w x y z { | } ~ DEL
05 영숫자 코드
확장 ASCII 코드표
0 1 2 3 4 5 6 7 8 9 A B C D E F
8 Ç ü é â ä à å ç ê ë è ï î ì Ä Å
9 É æ Æ ô ö ò û ù ÿ Ö Ü ¢ £ ¥ Pt f
A á í ó ú ñ Ñ ª º ¿ 「 」 ½ ¼ ¡ « »
B ░ ▒ ▓ │ ┤ ╡ ╢ ╖ ╕ ╣ ║ ╗ ╝ ╜ ╛ ┐
C └ ┴ ┬ ├ ─ ┼ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═ ╬ ╧
D ╨ ╤ ╥ ╙ ╘ ╒ ╓ ╫ ╪ ┘ ┌ ▮ ▄ ▌ ▐ ▀
E α β Γ π ∑ σ μ τ Φ Θ Ω δ ∞ ∅ ε ∩
F ≡ ± ≥ ≤ ⌠ ⌡ ÷ ≈ ◦ • ∙ √ ⁿ ² ■
05 영숫자 코드
2. 표준 BCD 코드
6 비트로 하나의 문자를 표현
최대 64 문자까지 표현 가능한 코드
코드의 구성
표준 BCD 코드표
코드의 구성
b9 b8 b7 b6 b5 b4 b3 b2 b1
패리티 존 (zone) 디지트 (digit)
1 4 4
b8 b7 b6 b5
0 0 통신제어문자
0 1 특수문자
0 0 a ~i
0 1 j~r
1 0 소문자
1 0 s~z
1 1
0 0 A~I
0 1 J~R
1 1 대문자 / 숫자
1 0 S~Z
1 1 0~9
05 영숫자 코드
EBCDIC 코드표
16 진 0 1 2 3 4 5 6 7 8 9 A B C D E F
2 진 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 0000 NUL SOH STX ETX HT DEL VT FF CR SO SI
1 0001 DLE BS CAN EM IFS IGS IRS IUS
2 0010 LF ETB ESC ENQ ACK BEL
3 0011 SYN EOT NAK SUB
4 0100 space [ . ( + |
5 0101 & ! $ * ) ^
6 0110 - / | , % _ > ?
7 0111 ` : # @ ‘ = "
8 1000 a b c d e f g h i
9 1001 j k l m n o p q r
A 1010 ~ s t u v w x y z
B 1011
C 1100 { A B C D E F G H I
D 1101 } J K L M N O P Q R
E 1110 \ S T U V W X Y Z
F 1111 0 1 2 3 4 5 6 7 8 9
05 영숫자 코드
4. 유니코드 (Unicode)
ASCII 코드의 한계성을 극복하기 위하여 개발된 인터넷 시대의 표준
유니코드 컨소시엄 (IBM, Novell, Microsoft, DEC, Apple 등 ) 에 의해서 32(UTF-
32), 16(UTF-16), 8bit(UTF-8) 의 세 가지 기본 코드
미국 , 유럽 , 동아시아 , 아프리카 , 아시아 태평양 지역 등의 주요 언어들에 적용될
수 있다 .
유니코드는 유럽 , 중동 , 아시아 등 거의 대부분의 문자를 포함하고 있으며 , 10
만개 이상의 문자로 구성되어 있다 .
특히 아시아의 중국 , 일본 , 한국 , 타이완 , 베트남 , 싱가포르에서 사용하는 표의
문자 ( 한자 ) 70,207 개를 나타낼 수 있다 .
구두표시 , 수학기호 , 전문기호 , 기하학적 모양 , 딩벳 기호 등을 포함
앞으로도 계속해서 산업계의 요구나 새로운 문자들을 추가하여 나갈 것이다 .
05 영숫자 코드
5. 한글코드
한글은 ASCII 코드를 기반으로 16 비트를 사용하여 하나의 문자를 표현
조합형과 완성형으로 분류
완
• 1987 년 정부가 한국표준으로 정한 것으로 가장 많이 사용되는 한글
성 음절을 2 바이트의 2 진수와 1 대 1 로 대응하여 표현하는 방법
형
감사합니다