소개글
"방송대 컴퓨터과학개론"에 대한 내용입니다.
목차
1. 컴퓨터에서 정수와 실수의 표현 방법
1.1. 정수의 표현 방법
1.1.1. 부호화-크기 방식
1.1.2. 2의-보수 방식
1.2. 실수의 표현 방법
1.2.1. 부동 소수점 표현
1.2.2. 고정 소수점 표현
2. 이진 트리, 완전 이진 트리, 포화 이진 트리
2.1. 이진 트리
2.2. 완전 이진 트리
2.3. 포화 이진 트리
3. 정렬 알고리즘
3.1. 선택 정렬
3.2. 버블 정렬
3.3. 삽입 정렬
3.4. 퀵 정렬
3.5. 합병 정렬
4. 함수의 매개변수 전달 방식
4.1. 값호출 방식
4.2. 참조호출 방식
5. 데이터베이스 시스템의 3단계 구조와 스키마
5.1. 외부 스키마
5.2. 개념 스키마
5.3. 저장 스키마
6. 참고 문헌
본문내용
1. 컴퓨터에서 정수와 실수의 표현 방법
1.1. 정수의 표현 방법
1.1.1. 부호화-크기 방식
부호화-크기 방식은 컴퓨터에서 정수를 표현할 때 사용되는 가장 기본적인 방법 중 하나이다. 이 방식은 정수의 표현을 위해 하나의 비트를 부호 비트로 사용하고, 나머지 비트들을 수치 표현에 사용한다.
구체적으로, 정수를 표현하기 위해 할당된 전체 비트 중에서 맨 왼쪽의 1비트를 부호 비트로 사용한다. 이 부호 비트가 0이면 양수, 1이면 음수를 나타내게 된다. 나머지 비트들은 수치 표현에 사용되어, 최대 표현 가능한 수의 범위를 결정한다.
예를 들어, 4비트로 정수를 표현한다고 가정하면, 이 중 1비트는 부호 비트로 사용되고 나머지 3비트가 수치 표현에 사용된다. 따라서 가장 작은 수인 '-7'(1000)부터 가장 큰 수인 '+7'(0111)까지 표현할 수 있게 된다.
이와 같은 부호화-크기 방식은 계산이 복잡하다는 단점이 있다. 예를 들어 '-4'와 '+4'를 더하여 0이 되게 하려면 부호 비트와 수치 부분을 각각 따로 계산해야 한다. 또한 '-0'이 존재할 수 있다는 단점도 있다.
이러한 단점을 해결하기 위해 2의 보수 방식이 도입되었다.
1.1.2. 2의-보수 방식
2의-보수 방식은 양의 정수의 경우, 일반 자연수를 2진수로 표현할 때와 동일한 방식이지만, 음의 정수의 경우 먼저 대상이 되는 수의 1의 보수를 구한 후, 그에 1을 더한 값을 음의 정수로 표현한다.
1의 보수는 대상이 되는 수의 모든 비트를 반전(0 -> 1, 1 -> 0)하여 구한다. 예를 들어 10진수 5의 2진수 표현인 0101의 1의 보수는 1010이 된다.
그리고 여기에 1을 더하면 1011이 되는데, 이것이 바로 10진수 -5의 2진수 표현이 된다. 이처럼 1의 보수에 1을 더한 것이 2의 보수 방식이다.
컴퓨터 상에서는 2의 보수 방식을 사용하여 음의 정수를 표현하는 것이 계산이 용이하기 때문에, 가장 많이 사용되는 방법이다. 또한 부호화-크기 방식에 비해 같은 크기의 공간에서 더 많은 수를 표현할 수 있다는 장점이 있다.
1.2. 실수의 표현 방법
1.2.1. 부동 소수점 표현
부동 소수점 표현은 실수를 표현하는 방식 중 하나로, 실수를 Sign(부호), Exponent(지수), Mantissa(가수)로 나누어 표현한다. 이러한 부동 소수점 표현 방식은 넓은 범위의 실수를 표현할 수 있다는 장점이 있다.
일반적으로 컴퓨터는 4바이트(32비트) 또는 8바이트(64비트) 크기의 부동 소수점 수를 사용한다. 4바이트 기준으로 할 경우, 1비트는 부호, 8비트는 지수, 그리고 나머지 23비트는 가수 부분을 표현하는데 사용된다. 이때 지수부는 초과표기법을 사용하는데, 실제 지수에 127(2^7-1)을 더한 값을 저장한다. 가수부는 실수를 정규화하여 1.xxx 형태로 표현한다.
이러한 부동 소수점 표현 방식은 고정 소수점 표현 방식에 비해 더 넓은 범위의 실수를 표현할 수 있다는 장점이 있다. 하지만 실수를 정확하게 표현할 수 없기 때문에 반올림 오차가 발생할 수 있다는 단점도 있다. 또한 연산 속도가 느리다는 단점이 있다.
따라서 부동 소수점 표현 방식은 넓은 범위의 실수를 다루어야 하는 경우에 주로 사용되며, 정확성보다는 범위와 효율성을 우선적으로 고려해야 할 때 적합한 방식이라고 할 수 있다.
1.2.2. 고정 소수점 표현
고정 소수점 표현은 컴퓨터에서 실수를 표현하는 방법 중 하나이다. 고정 소수점 표현은 가수의 자릿수를 미리 정해놓고, 고정된 자릿수의 소수를 사용하여 실수를 표현한다.
고정 소수점 표현은 부동 소수점 표현과 달리, 지수와 가수의 자릿수가 크지 않기 때문에 표현 가능한 값의 범위가 매우 작다는 단점이 있다. 예를 들어, 4바이트 크기의 고정 소수점 숫자라면 정수부 16비트, 소수부 16비트로 구성되어 있다. 이 때, 표현 가능한 수의 범위는 약 -32,768 to 32,767.9999 정도에 불과하다.
반면 부동 소수점 표현은 지수와 가수의 자릿수를 유동적으로 사용함으로써 훨씬 큰 범위의 수를 표현할 수 있다는 장점이 있다. 하지만 고정 소수점 표현은 부동 소수점 표현에 비해 계산 속도가 빠르다는 장점이 있다.
따라서 고정 소수점 표현은 제한된 범위 내에서 빠른 계산이 필요한 경우, 예를 들어 실시간 제어 시스템 등에 유용하게 사용될 수 있다. 반면 보다 큰 범위의 실수 표현이 필요한 경우에는 부동 소수점 표현이 더 적합할 것이다.
2. 이진 트리, 완전 이진 트리, 포화 이진 트리
2.1. 이진...
...
참고 자료
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