자료구조

[이전 완] 필드와 레코드의 가변, 고정 길이 + 2의 보수 사용 장점 (학교 과제, p22 ~ p23)

치즈샌드CS 2024. 3. 19. 08:07

Q1. 필드의 종류와 각각에 대한 설명 작성 (100자 이상)

필드의 종류에는 크게 고정길이와 가변길이가 있다.


고정길이는 각각에 필드가 고정된 크기를 갖는 방식이다.
예를 들어 id는 2byte, name은 8byte, score는 4byte와 같이 고정된 크기를 갖고 있는
필드를 말합니다. 아래와 같은 이미지를 예로 들 수 있겠다.

 

가변길이는 크게 길이 지시자 방식, 구획 문자 방식, 키워드=값 구조 방식으로 나눠진다.

 

길이 지시자 방식은 필드의 길이를 가변적으로 할당하되 각각의 필드에

필드의 길이를 추가하는 방식으로 필드를 해석할 수 있도록 한다.

아래와 같은 이미지를 예로 들 수 있겠다. 빨간색으로 표현한 것은

각 필드의 크기를 의미한다.

 

구획 문자 방식은 각각의 필드를 특정한 구획 문자로

구분한다. 예를 들면

'|'와 같은 구획 문자를 이용해 각각의 필드를 구분할 수 있도록 할 수 있다.

아래와 같은 이미지를 예로 들 수 있겠다.

 

키워드=값 방식은 각각의 필드는 구획 문자로 구분하고,

하나의 필드에 키워드와 값을 같이 저장하는 방식이다.

아래와 같은 이미지를 예로 들 수 있겠다.

 

Q2. 레코드의 종류와 각각에 대한 설명 작성 (100자 이상) {작성 중}

레코드의 종류에는 크게 고정길이와 가변길이가 있습니다.

 

고정길이는 위에 고정 필드와 비슷하게 길이가 고정된 레코드를 말한다.

고정길이 레코드는 고정길이 필드와 가변길이 필드 둘 다 상관없이 사용할 수 있다.

 

가변길이는 크게 필드 개수 지정 방식, 길이 지시자 방식, 인덱스 파일 방식, 구획 문자 방식으로 나눠진다.

 

필드 개수 지정 방시은 각각의 레코드가 고정된 개수의 필드로 구성되는

레코드 저장 방식이다.

 

길이 지시자 방식은 레코드에 레코드 길이를 포함하여 저장하는 방식이다.

 

인덱스 파일 방식은 각 레코드의 시작 주소를 저장하고 있는 인덱스 파일을

따로 생성하여 레코드를 접근하는 방식이다.

 

구획 문자 방식은 구획 문자를 이용하여 레코드를 구분하는 방식이다.

 

 

Q. 2의 보수를 사용하면 좋은 점 작성 (300자 이상)

 

먼저 위에 표를 보면 2진수가 있고 부호 절대값, 1의 보수, 2의 보수가 있는데

양의 보수는 없기 때문에 위에 표에서는 양수는 그냥 2진수 그리고 나머지 음수는

부호 절대값, 1의 보수, 2의 보수로 나눠서 표현하고 있다.

 

위에 표를 살펴보면 2의 보수를 사용할 시 다른 방식(부호와 절대값, 1의 보수)과

다르게 +0과 -0의 값이 0000으로 동일하다. 그렇기 때문에 남은 -0이 있을 공간에

-8을 할당하여 2의 보수를 사용하면 동일한 저장공간을 이용하여 부호와 절대값
혹은 1의 보수보다 더 많은 수를 표현할 수 있고 이에 따라
1의 보수보다 논리 회고적으로 더 좋은 전기효율을 갖는 것이 장점이다.