Fractional Binary Numbers(고정 소수점)
IEEE Floating Point(부동 소수점)

M은 유효숫자, E는 지수이다
float (single precision): 32 bit
double (double precision): 64 bit
Exponent 결정법; E = Exp - Bias Normalized Value: exp≠000…00, exp≠111…11일때만 적용

Denormalized Values
exp = 000…0 E = 1 - Bias를 사용! (0-Bias가 아님)
→ 이유: 아래 8bit 예제에서 볼 수 있듯, Largest Denormalized 값과 Smallest Normalized 값 사이 smooth 한 transition 이 일어날 수 있도록 하기 위한 정의임.

Special Values
OverView




Distribution


→ -1.0 과 1.0 사이 값들의 경우, denormalized : 바로 가장 작은 Normalized의 exp과 같은 간격으로 숫자가 표현됨. → 이유: 0을 표현 가능하기 위해서 (만약에 Normalized식으로 exp가 작아질수록 거리가 작게 되면 영원히 0에 닿을 수 없음. 그래서 denormalized는 normalized의 최소값과 같은 간격으로 숫자를 표현한다. ) (Gradual underflow: 점진적으로 작아져, 결국 0에 닿게 만들겠다~)
Create Floating point number
Normalize

Rounding GRS condition
Guard bit: LSB of result
Round bit: first bit of removed bits
sticky bit: OR of remaining bits(S중에 1이 하나라도 있으면1)

GRS에 따른 처리

Postnormalizing

Floating point operations
덧셈 x+y = round(x+y)
곱셈

Floating Point in C