컴퓨터 및 소프트웨어 공부하기 – 전자계산기의 구조 #2

Explanation

저번 글에 이어 컴퓨터 및 소프트웨어 공부 두번째 시간입니다.
오늘은 자료의 내부적 표현과 외부적 표현 강의에 대해 공부하고 정리해 보려 합니다.

참고 유튜브 : https://www.youtube.com/watch?v=NoSDLu0Vgy4

역시 이 글도 개인적인 메모라 별로 유익하지는 않을 거 같아요..

자료의 내부적 표현과 외부적 표현

A. 자료의 내부적 표현

자료의 내부적 표현 = 컴퓨터에게 숫자를 어떻게 표현할것이냐 (수치표현)

정수 – 고정소수점 – (-2, -1, 0, 1, 2, …)
실수 – 부동소수점 – (2/1, 3/1, 0.1, 0.12, …)

1. 고정소수점 표현

1-1. 10진 연산의 표현

10진수 1자리를 2진수 4자리로 표현하는 방식
ex. 10진수 46을 2진화 10진코드로 표현하면 4 = 0100, 6 = 0110 으로 46 = 01000110
// 01000110 = 2진화 10진코드(BCP) 표현

* Unpacked(ZONE) format – 1Byte로 1자리 표현

[Zone][Digit][Zone][Digit] … [Sign][Digit]
Sign = 부호를 나타내며 양수:C, 음수: D

* Packed format – 1Byte로 2자리 표현

[Digit][Digit][Digit] … [Digit][Sign]
Sign = 부호를 나타내며 양수:C, 음수: D

1-2. 2진 연산의 표현

10진수 전체 값을 2진수로 변환하여 표현하는 방식
Sign = 부호를 나타내며 양수: 0, 음수: 1

* 음수 표현 방법

예를 들어 -25를 표현한다고 한다면

부호화 절대치, 부호화 1의보수의 표현 범위
-(2n-1-1) ~ (2n-1-1)

부호화 2의보수의 표현 범위
-2n-1 ~ 2n-1-1

2. 부동 소수점 표현

[부호][지수부][가수부]

<특징>
* 매우 큰 수 나 매우 작은 수를 표현할 때 사용
* 표현의 정밀도를 높일 수 있음
* 수 표현에 필요한 자리 수에 있어 효율적임
* 과학이나 공학, 수학적인 응용에 주로 사용되는 수 표현
* 부동 소수점 수의 연산은 고정 소수점 연산에 비해 복잡하며, 연산 시간이 많이 걸림

<부동 소수점에서 음수 표현법>
지수는 부호와 관계없이 bias 값에 더함
가수의 부호가 양수(+)이면 0, 음수(-)이면 1로 표현

B. 자료의 외부적 표현

1. ASCII 코드

IBM사에서 개발, (데이터 통신)* 및 마이크로 컴퓨터에서 많이 채택됨
7BIT 코드로 128개의 문자를 표현

2. BCD 코드(2진화 10진코드)

<특징>
* 10진수 1자리의 수를 2진수 4bit로 표현
* 8421코드라고도 함
* 대표적인 (가중치 코드)*
* 10진수 입, 출력이 간편
* 자체 보수화는 불가능

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

IBM사에서 개발한 것으로 대형 컴퓨터용으로 쓰임
8개 피트(4개의 ZONE BIT – 4개의 DIGIT BIT)와 1개의 패리티 비트로 구성됨
[ZONE-A][ZONE-A][ZONE-B][ZONE-b][DIGIT][DIGIT][DIGIT][DIGIT]

4. 3초과 코드

10진수를 표현하기 위한 부호
BCD부호에 3을 더한 것과 같음

5. 패리티 검사 코드

오류 검사를 위해 data bit 외에 1bit의 패리티 체크 비트를 추가하는 것
배리티비트 : 오류 검출을 위해 사용하는 비트
1Bit의 오류만 검출 가능
홀수 패리티, 짝수 패리티가 있음

6. 그레이 코드

A/D변환, 입/출력 장치 등에 주로 사용됨.

8. 해밍 코드

오류 검출 및 교정이 가능한 코드
1Bit의 오류만 교정할 수 있음
해밍코드의 1,2,4,8, … 2의 N승 번째는 오류검출을 위한 패리티 비트임
예: 해밍코드 전체가 16비트인 경우 1,2,4,8,16 5bit는 패리티비트, 나머지 11bit은 데이터비트이다.

9. 코드의 분류

처음 듣는 코드들이 많이 보이는데…