소개글
<과제명>
※ 다음 8문제 중에서 반드시 5개만을 선택해서 정리하여 제출하시오.(각 문제당 14점 × 5문제 = 70점)
1. 컴퓨터에서 정수와 실수의 표현 방법에 대해서 설명하시오.
2. 이진 트리, 완전 이진 트리, 포화 이진 트리를 설명하고 비교하시오.
3. 교재에서 다룬 모든 정렬 알고리즘들을 설명하고 비교하시오.
4. 가상기억장치의 페이징 기법과 세그먼테이션 기법을 설명하고 비교하시오.
5. 조합회로와 순차회로의 개념과 종류를 나열하고 설명하시오.
6. 함수의 매개변수 전달방식인 값호출 방식과 참조호출 방식을 설명하고 비교하시오.
7. 데이터베이스 시스템의 3단계 구조와 관련해서 스키마에 대해 설명하고 비교하시오.
8. OSI 참조 모델에 대해서 설명하시오.
목차
1. 컴퓨터에서 정수와 실수의 표현 방법에 대해서 설명하시오.
2. 이진 트리, 완전 이진 트리, 포화 이진 트리를 설명하고 비교하시오.
3. 교재에서 다룬 모든 정렬 알고리즘들을 설명하고 비교하시오.
4. 조합회로와 순차회로의 개념과 종류를 나열하고 설명하시오.
5. 함수의 매개변수 전달방식인 값호출 방식과 참조호출 방식을 설명하고 비교하시오.
본문내용
일단, 설명하기 앞서 컴퓨터는 모든 데이터를 2진수로 표현한다는 것을 기본으로 둔다.
첫번째로, 컴퓨터에서 데이터를 정수로 표현할 때 가장 먼저 정수를 표현할 데이터의 크기를 먼저 지정해준다. 데이터의 크기를 지정한 후, 음의 정수를 표현하기 위해서는 크게 두 가지 방법이 사용된다.
부호화-크기 방법
1바이트를 기준으로 가장 왼쪽의 한 개 비트는 부호를 나타내는데 사용하고, 나머지 일곱 개의 비트는 수를 나타내는 데 사용한다. 이 때, 부호를 나타내는 최상위 비트는 MSB(Most Significant Bit)라고 부른다. 최상위 비트 사용 시 양수라면 0, 음수라면 1을 저장하며, 4비트를 기준으로 0111_((2)) 와 같이 4비트 내에서 표현할 수 있는 가장 큰 수는 +7이며 가장 작은 수는 1111_((2)) 으로 -7이다.
부호화-크기 방법은 계산이 복잡하다는 단점과, -0이 존재할 수 있다는 단점을 갖는다.
2의-보수 방법(1의-보수 방법 포함)
양의 정수의 경우, 일반 자연수를 2진수로 표현할 때와 동일한 방식이지만, 음의 정수의 경우, 먼저 대상이 되는 수의 1의 보수를 구한 후, 그에 1을 더한 2의 보수를 구해서 음의 정수를 표현한다. 1의 보수는 대상이 되는 수의 모든 비트를 반전(0 -> 1,1 -> 0) 해서 구한다.
컴퓨터 상에서 계산이 용이하기 때문에 실제로 가장 많이 사용되는 방법이며, 부호화-크기 방법에 비해 같은 크기의 공간에서 더 많은 수를 표현할 수 있다는 장점을 갖는다.
두번째로, 컴퓨터에서 정보를 실수로 표현하는 방법을 설명하기 앞서, 컴퓨터로 완전히 정확한 실수를 표현하는 것은 불가능하고 어디까지나 근사치를 표현할 뿐이라는 것을 기억해야 한다. 실수 표현법에는 대표적으로 다음의 두 가지 방법이 있다.
부동 소수점(Floating Point) 표현
하나의 실수를 Sign(부호), Exponent(지수), Mantissa(가수)로 나누어 표현하는 방식이다.
참고 자료
yon, "2 - 정수와 실수의 표현방식 ~ printf 와 scanf 함수 정리하기", https://wikidocs.net/9705
JG Ahn,, "컴퓨터에서 실수의 표현 (Fixed Point, Floating Point, Single Precision, Double Precision)", https://ahnjg.tistory.com/16
Sean Ma, "[DS] 이진 트리 - binary tree (개념 및 이진 트리의 종류)", https://sean-ma.tistory.com/24
화투의 개발 블로그, "기본 정렬 알고리즘 요약 정리", https://hsp1116.tistory.com/33
wan088, "정렬 알고리즘 정리", https://velog.io/@wan088/정렬-알고리즘-정리
tomyself, "조합회로와 순차회로", https://tomyself148.tistory.com/33
몽키몽키, "값 호출 방식과 참조 호출 방식 비교", https://m.blog.naver.com/cache798/130033381274