본문 바로가기
컴퓨터시스템개론

[컴퓨터시스템개론] 2장 연습문제

by 이재현9999 2024. 10. 22.

1. **디지털 데이터 표현의 장점과 단점**  
   - **장점**:  
     1) 데이터의 정확하고 일관된 복제 가능: 디지털 데이터는 원본에서 손실 없이 복사할 수 있어, 고품질을 유지하면서 여러 번 복제가 가능함.  
     2) 오류 검출 및 수정 가능: 디지털 데이터는 2진수로 표현되며, 이를 통해 오류를 검출하거나 수정하는 기법을 적용할 수 있음.
   - **단점**:  
     1) 아날로그 데이터의 연속적인 특성을 완벽하게 재현하기 어려움: 디지털 데이터는 샘플링과 양자화 과정을 거쳐 생성되기 때문에, 실제 아날로그 신호의 모든 세부 사항을 반영하지 못할 수 있음.  
     2) 저장 및 처리에 필요한 메모리와 계산 자원의 한계: 매우 정밀한 데이터를 디지털로 표현하려면 많은 저장 공간과 계산 자원이 필요함.

2. **정수 표현과 실수 표현에서의 고려 사항 차이**  
   - **정수**: 정수는 2진법으로 명확하게 표현되며, 범위를 벗어나지 않도록 오버플로우에 주의해야 함.  
   - **실수**: 실수는 2진법에서 근사적으로 표현되며, 부동 소수점 방식이 일반적으로 사용됨. 이때 고려해야 할 주요 사항은 정밀도와 부동 소수점 오차 발생 가능성임.

3. **2의 보수 표현을 사용하는 이유**  
   - 부호와 절대값 표현을 사용하지 않고 2의 보수 표현을 사용하는 이유는, 음수와 양수의 덧셈 및 뺄셈 연산을 동일한 방식으로 처리할 수 있기 때문이다. 이는 하드웨어 설계에서 연산 회로를 단순화하고, 성능을 높이는 데 기여함.

4. **Unsigned int를 사용하는 경우**  
   - 범위를 늘릴 수 있음: 부호가 없기 때문에 동일한 비트 수로 더 큰 값을 저장할 수 있음. 예를 들어, 32비트 unsigned int는 0부터 4,294,967,295까지 표현할 수 있음.  
   - 부호가 필요 없는 데이터에 적합: 음수가 필요하지 않은 경우(예: 메모리 주소, 인덱스, 개수) unsigned int를 사용하면 불필요한 계산을 방지하고 오류 가능성을 줄일 수 있음.

5. **2진수 10001010(2)을 10진수로 변환**  
   - 부호 없는 정수(unsigned integer): 138  
   - 부호와 절대값 표현(sign and magnitude): -10  
   - 2의 보수 표현(2’s complement): -118  
   - 부동 소수점 표현(IEEE 754 기반, 1비트 부호, 3비트 지수, 4비트 가수): +1.1010×2^3

6. **10진수 7788(10)의 10의 보수 표현**  
   - 이 숫자는 음수로 해석되므로, 10의 보수 계산을 통해 -2212임.

7. **완성형 한글 코드의 문제점**  
   - 완성형 한글은 한글 문자의 조합을 제한하여 자주 사용되는 문자들만 코드에 포함시킴으로써, 모든 가능한 한글 음절을 표현할 수 없다는 단점이 있음. 따라서, 완성형 코드만으로는 새로운 음절을 표현하거나 드문 음절을 표현하는 데 한계가 있음.

8. **고정 소수점 표현 방식의 장점**  
   - 정밀도 유지: 고정된 자리수를 사용하기 때문에 연산에서 실수의 오차가 발생하지 않으며, 정수 연산과 유사한 속도로 빠르게 계산 가능. 이는 실시간 시스템에서 유용함.

9. **IEEE 754 hidden bit 개념의 이유**  
   - 효율성: 실수의 정규화된 표현에서는 항상 가수의 첫 번째 비트가 1이므로, 이를 명시적으로 저장하지 않고도 그 값을 암시적으로 가정하여 공간을 절약할 수 있음.

10. **IEEE 754 부동 소수점 표현 방식 질문들**  
    - **Normalized form 사용 이유**: 정규화된 표현을 사용하면, 가수의 범위를 일정하게 유지하여 최대한의 정밀도를 확보할 수 있음.
    - **초과표현 사용 이유**: 지수의 범위를 확장하여 음수 지수와 양수 지수 모두를 표현하기 위해 초과 표현을 사용함.
    - **지수 비트가 가수 비트보다 상위 비트에 위치하는 이유**: 지수는 숫자의 크기를 결정하는 중요한 요소이므로, 크기 비교 시 지수가 더 우선적으로 고려되어야 함.

11. **8바이트 이상의 정수 표현**  
    - 파이썬에서는 정수의 크기에 제한이 없으며, 메모리 허용 범위 내에서 **임의 정밀도(arbitrary precision)**를 제공함. 이를 통해 매우 큰 정수를 표현할 수 있음.

'컴퓨터시스템개론' 카테고리의 다른 글

[컴퓨터시스템개론] 3장 정리  (3) 2024.10.11
[컴퓨터시스템개론] 1장 정리  (5) 2024.10.08