본문 바로가기
기타

정보처리 필기_전자계산기 구조_04강_자료의 외부적 표현

by avvin 2019. 7. 24.


문제 정보 / 이미지 출처 (무료인강) : 

https://www.youtube.com/playlist?list=PLimVTOIIZt2aR9jib0ws7hoDVZXdtiWsK




1. 문자표현 코드

2. 3초과 코드

3. 그레이 코드

4. 에러 검출 코드



1. 문자표현 코드


1) BCD(Binary Coded Decimal) 코드 : 

6bit = 64개 문자 표현 / zone bit 2bit, Digit bit 4bit / 

2진화 10진 코드 / 8421코드 / 4bit로 숫자 표현 ex) 9 5 6 각각을 4bit로 표현하여 나열



2) ASCII 코드 ( American Standard Code for Information Interchange ) :


7bit = 128개 / zone 3bit, digit bit 4bit 

/  100 0001 : 0x41 (16) // 0x : 16진수라는 의미


16은 2의 4승이니 4자리단위로 끊어주고 2진법으로 읽는다 >>0x 4 1 


7bit + parity 1bit (에러검출 코드) = 8bit : 문자표현의 최소단위가 8비트인 이유


>영문자 / 아라비아 숫자 / 제어문자


데이터 통신 및 마이크로 컴퓨터용(PC)★



3) EBCDIC ( 2진화10진코드 (6bit) 확장 )


6bit >> 8bit ( zone 4 digit 4 ) >> 256개 문자 표현


대형컴퓨터에 사용



4) Uni-Code


2바이트 통합코드 >> 6만 5천개정도 표현 가능




2. 3초과 코드 ( Excess-3 Code 줄여서 XS-3 Code )



계산법 : BCD + 3 (0011) 


8 : 1000 + 0011 = 1011


8 : 8+3 = 11 : 1011


★ 3초과 코드는 자보수 코드 ( Self-Complement Code ), 9의 보수값을 빠르게 구하기 위해 개발된 코드가 3초과코드


★ 비가중치 코드 (Non-Weighted Code) : 자리값의 의미가 없다 (그레이코드와 같이 기억)

ex) 3초과코드 0011은 0, 0111은 4.  자리값의 의미가 X




3. 그레이 코드


2진수         1 0 0 1 >> 맨앞자리는 그대로 내리고 다음 숫자와 더하여(비교하여 다르면 1 같으면 0) 내린다.


그레이 코드 1 1 0 1 (G)


2진수         1 0 0 1 >> 맨앞자리는 그대로 내리고 내린 숫자와 다음 그레이코드(^)를 비교



★ 비가중치 코드 (Non-Weighted Code) : 자리값의 의미가 없다 (3초과코드와 같이 기억)


★ A/D(아날로그 디지털) 변환기, 입출력장치 제어 등에 사용


아날로그 그래프를 디지털화할때 각 섹션을 잘라서 평균값을 내어 디지털 그래프화하는데

그레이코드는 숫자가 1씩 증가할때마다 1bit만 바뀌기 때문에 에러 발생률이 적다




4. 에러 검출 코드 


1)Parity bit


기존 데이터에 1bit를 더해서 에러 검출


1의 개수를 짝수개나 홀수개로 맞춰놓고 에러검사


오류 검출 코드이며 오류 정정코드는 X


1bit의 오류만 검출??


기수(Odd)패리티, 우수(Even)패리티


패리티 생성기는 송신하는 컴퓨터(보내는 곳에)에 있다.


수신하는 컴퓨터에서 검사 



2)해밍 코드 (Hamming Code)



오류 검출, 정정 모두 가능


2bit 오류 검출 밒 1bit의 오류 교정


짝수개 오류는 검출 못함


1,2,4,8, ... 2^n 번째 패리티비트






5번째 비트에서 에러발생





해밍 거리 ( Hamming Distance ) :  몇비트 바뀐건지만 세면 된다.


00011010  >> 00000100  : 4비트 바뀜





코드의 분류


가중치 코드 : BCD, 2421, Biquinary, 51111


비가중치 코드 : Excess-3, Gray, 2 out-of 5


자기 보수 코드 : Excess-3, 2421 (9의 보수 만드는 코드)


오류 검출용 코드 : 패리티 검사 코드, 해밍코드,  2 out-of 5, Biquinary