본문 바로가기

자격증 공부/정보처리산업기사

3강, 자료의 내부적 표현

 

1. Fixed Point 표현

(1) 10진 연산

Unpack Format : 입출력 할때 쓴다. 글자를 하나씩 짤라서 안전빵으로 전송할려고 씀

ZONE + 문자 + ......SIGN+문자

ex) +1353 을 언팩하면 - > F1F3F5C3        -1353 을 언팩하면 F1F3F4D3

SIGN 은 , 부호를 뜻하며, C 는 양수, D 는 음수, 문자 끝 ZONE 에 부호를 작성한다

 

Pack Format : 연산할때 사용한다, 그리하여 문자를 zone으로 나누지 않고 쭉 쓴다.

대신 문자 뒤에 부호를 붙인다.

ex) + 2253  을 팩 하면 - > 2253C         -2289 를 팩 하면 - > 2289D

 

(2) 부호화 절대값 연산

nbit 의 가지수는 = 2의 n 승,  가장 큰 수는 2의 n승 - 1

즉, 4비트의 가지수는 = 8 , 가장 큰수는 = 7  왜냐, 첫비트 1비트는, 부호로 표현 하기 때문 !

양수는 부호비트 0  , 음수는 부호비트 1

개념만 알면 된다 .

1.부호화 절대치 크기 : -2의 n - 1 승 +1   ~ 2의 n-1 승 - 1 

2. 부호화 1의 보수 크기 : 위와 동일

3. 부호화 2의 보수 크기 : 2의 n-1 승

 

(3) 부동 소수점

 

너무 큰 부동 소수점은 표현할 수가 없기 때문에, 지수부와 가수부로 나누어 표현한다.

지수부는 말그대로 지수 10의 n 승 을 뜻하며

가수부는 값을 표현한다.

예)  0.27 * 10의5승 

지수부는 = 10의 5승, 가수부는 0.27

 

그럼 부동소수점으로 연산하는 방법을 알자.

 

예) 0.27 * 10의 5승 +  0.44 * 10의 3승

-> 덧셈 연산은, 지수부가 큰 쪽에 맞추어서 연산한다.

0.27 * 10의 5승 + 0.0044 * 10의 5승

-> 0.2744 * 10의 5승

 

예) 0.26 * 10의 5승  * 0.33 * 10의 4승

-> 곱셉 연산은, 지수부는 더하고, 가수부는 곱셈 연산을 한다.

-> 0.26 * 0.33 연산 - > 0.0858 * 10의 9승

-> 0.858 * 10의 8 승 이 된다 !

-------------------- 이로서 자료의 내부적 표현은 끝 -----------------

 

자료의 외부적 표현

BCD : 초기 코드, 6비트, 64자 표현했으며, 대표적 가중치 코드다  문자는 6비트, 숫자는 4비트 사용 함

ASCII : 미국 표준, 7비트 , 128 자 표현 가능 , 데이터통신에 이용된다.

EBCDIC : 8비트 , 256자 표현, 대형PC에서 사용, 존비트4개(종류결정),비지트비트4개(위치)

 

3초과 코드 ( Excess-3 Code )

-> Non-wait "비가중값 코드" 즉, 자리에 대한 값의 의미가 없다.

걍 값에 3을 더하고 이진코드로 바꾸면 된다.

예) 8 을 3초과 코드로 변경 하시오 -> 8+3 = 11 ,  이진코드로 = > 1011(e)

자기 보수 코드이며, 9의 보수를 구할때 사용에 편리함

 

그레이 코드 (Gray code )

-> XOR 연산 사용 한다, H/W에러 최소화, 입출력 장치등에 사용됨.

변환방법

 

첫번째값 그대로 내리고, 두값이 다르면 1 같으면 0 뽑아내면 됨.

XOR 회로 생각 하면 됩니다.

 

패리티 비트 ( 오류검출 코드 )

odd Parity bit - > 기수 라고 하며, 비트의 수가 홀수개 인지 검사 함.

even Parity bit - > 우수 라고 하며, 비트의 수가 짝수개 인지 검사 함.

약속된 비트 개수가 맞는지 검사. 즉 오류 검출만 가능 함

 

해밍 코드 ( 오류검출 및 교정 코드 )

오류 검출 뿐만 아니라 교정 또한 가능 함. 재전송 요구 안해도 되니 좋음.

해밍코드의 위치는 1 2 4 8 .  . . . 2n

 

코드의 분류

가중치 코드 : BCD ( 8421 ) , 2421 code , 5111 code 등, 자리에 값의 의미가 있는것들

비가중치코드 : 의미없는 것들, Gray 코드, Excess-3 , 2 out - of 5 코드 등 있음

자보수 코드 ( 자기보수 코드 )  : Excess-3 코드 만 알아두면 될듯