728x90
반응형
경희대학교 김정욱 교수님의 컴퓨터구조 강의를 기반으로 정리한 글입니다.
Floating Point

- 위 코드는 멈추지 않고 무한히 반복
- Floating Point: 소수점 위치를 고정하지 않고 유효 숫자를 나타내는 가수 부분, 소수점 위치를 풀이하는 지수 부분으로 나누어 표현
Scientific notation
- 소수점 앞의 수는 한 자리 수
- 소수점 앞 한 자리 수는 1~9 사이 값이어야 함
- 뒤에 곱해지는 형태는 지수 형태

Normalized scientific notation (Binary)
- 소수점 앞의 수는 한 자리 수
- 소수점 앞 한 자리 수는 1
- 뒤에 곱해지는 형태는 지수 형태

- Three advantages
- 소수점의 위치를 변경하는 것이 가능
- 모든 소수점 표현 알고리즘이 같은 형태를 공유하고 있기 때문에 지속성(consistency)을 유지
- 한 워드에 저장되는 숫자의 정확도를 높임
Floating Point Representation
Single Precision

- 32비트 데이터만으로는 음수, 양수, int, float 판별 불가능 → instruction을 통해 정체성 부여
- sign(1 bit): 0일 때 양수, 1일 때 음수
- exponent(8 bits): 지수 부분 value
- fraction(23 bits): 소수점 아래 value
- overflow와 underflow가 일어날 수 있음
Double Precision
- 64비트 데이터
- sign(1 bit), exponent(11 bits), fraction(52 bits)
- 메모리 상에서 2 word 단위
IEEE 754
- 부동소수점을 표현하는 가장 널리 쓰이는 표준어

- 음수와 양수 지수 비교가 어려움 → exponent를 unsigned로 해석
- 예외적인 상황 고려 필요 → exponent 값이 모두 0이거나 모두 1인 경우는 예외적인 상황으로 고려함
Biased notation
- Bias 값을 127로 두고 bias와 exponent의 차이로 부호 결정

- Range(single precision)
- 최소값: Exponent: 8 bits → 00000001 = 1 → 2^(1-127) = 2^(-126) Fraction: 00000000..
- 최대값: Exponent: 8 bits → 11111110 = 254 → 2^(254-127) = 2^127 Fraction: 11111111111..
- Range(double precision)
- 최소값: Exponent: 11 bits → 00000000001 = 1 → 2^(1-1023) = 2^(-1022) Fraction: 00000000..
- 최대값: Exponent: 11 bits → 11111111110 = 2046 → 2^(2046-1023) = 2^1023 Fraction: 11111111111..
Zero
- Exponent: 00…00, Fraction: 0
- 1.0000 0000 0000 0000 0000 000 X 2^(-127)
Denormailized number
- 표현할 수 있는 범위보다 작은 수를 표현할 때
- Exponent: 00…00, Fraction: Nonzero
- 0.xxx로 표현, Exponent에 1을 넣기로 약속

- 최소값: 2^(-149)
Infinite
- Exponent: 11…11, Fraction: 0
NaN (Not a Number) - 0/0
- Exponent: 11…11, Fraction: Nonzero

Floating Point Addition
10진수

- 지수성이 큰 것으로 맞춘다
- 4개의 decimal만 남긴다

- 더한다

- normalize 해서 overflow, underflow를 확인

- -126 < 2 < 127 → OK
- 4자리까지만 남기니까 반올림(round)

2진수


- 지수성이 큰 -1로 맞춘다
- 4자리만 남긴다

- 더한다

- normalize 해서 overflow, underflow 확인

- round 할 필요 없음
- 다시 10진법으로 표현

Floating Point Mulitiplication
10진수

- 지수 계산


- 곱셈 계산 후 normalize


- 4개의 수만 남긴다

2진수


- 지수 계산

- 계산하고 normalize

- 반올림 필요 없음
- 부호 결정

- 10진수 변환

728x90
반응형
'Computer Science > Computer Architecture' 카테고리의 다른 글
| [컴퓨터구조] Lecture 13: The Processor - Part2 (0) | 2026.02.12 |
|---|---|
| [컴퓨터구조] Lecture 12: The Processor - Part1 (0) | 2026.02.12 |
| [컴퓨터구조] Lecture 09: Arithmetic for Computers - Part1 (0) | 2026.02.08 |
| [컴퓨터구조] Lecture 08: Instructions - Language of the Computer - Part5 (0) | 2026.02.08 |
| [컴퓨터구조] Lecture 07: Instructions - Language of the Computer - Part4 (0) | 2026.02.08 |