jun-wiki

View My GitHub Profile

Posts (Latest 10 updated) :
Read all
Contents:
  1. csapp 2.3
  2. csapp 2.4
  3. 2.3 정수 연산 (Integer Arithmetic) 1. 2.3.1 정수 덧셈 1. 2.3.2 정수 곱셈 1. 2.3.3 정수 나눗셈
  4. 2.4 부동소수점 숫자 (Floating-Point Numbers) 1. 2.4.1 IEEE 부동소수점 표준 1. 2.4.2 형식 세부사항 1. 2.4.3 Rounding (반올림) 1. 2.4.4 연산의 특이성





뻐킹 때려쳐

새로 2.3 ~ 2.4 요약했다

그러니 이딴 구데기 요약본을 때려치고 새거 보자

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

csapp 2.3

csapp 2.4



↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

신규 업데이트



2.3 정수 연산 (Integer Arithmetic)

2.3.1 정수 덧셈

  • signed와 unsigned 모두 2의 보수 형식을 사용하므로 동일한 회로로 처리 가능.

  • carry-out과 overflow 조건은 다르게 해석됨:

    • unsigned: carry-out이 1이면 overflow

    • signed: 부호가 변하면 overflow

2.3.2 정수 곱셈

  • overflow 발생 시, 결과를 저장할 수 없고 modular 연산처럼 wrap-around.

  • 하드웨어는 보통 w비트 결과만 저장.

  • unsigned x unsigned = unsigned, signed x signed = signed 등 C에서는 자동 변환 규칙 존재.

2.3.3 정수 나눗셈

  • 나눗셈도 반올림 방식이 중요: C는 0쪽으로의 truncation을 사용.

  • ~~나누는 수가 0이면 runtime error 발생. ~~

    2.4 부동소수점 숫자 (Floating-Point Numbers)

    2.4.1 IEEE 부동소수점 표준

  • IEEE 754 표준 사용

    • Single precision (float): 32비트

    • Double precision (double): 64비트

  • 형식: (-1)^s × M × 2^E

    • s: 부호 비트

    • M: 가수(significand, 정규화된 경우 1.xxxx 형식)

    • E: 지수(exponent) bias 방식

2.4.2 형식 세부사항

  • 정규화된 수 (Normalized): 가수는 1 ≤ M < 2, 지수는 bias 적용

  • 비정규화 수 (Denormalized): M은 0 ≤ M < 1, 지수가 가장 작은 값보다 작을 때 사용 → underflow 방지

  • 특수 값들: +∞, -∞, NaN 등 특수 표현 존재

2.4.3 Rounding (반올림)

  • 정확히 표현할 수 없는 경우, 반올림이 필요.

  • 기본은 round-to-even 방식

2.4.4 연산의 특이성

  • a + b != b + a일 수 있음 (부동소수점 덧셈의 비가환성)

  • (a + b) + c != a + (b + c)일 수 있음 (덧셈의 비결합성)

  • 계산 순서와 정밀도가 중요