# 浮點數

normalizerd: 整數只有一位,而且是非零

2.341056-2.34 * 10^56 =>normalizerd
+0.002104+0.002 * 10^-4 =>not normalizerd
+987.02109+987.02 * 10^9 => not normalizerd

IEEE-754 儲存的浮點數要是 normalizerd, 1.0 <= |significand| < 2.0

S Exp Fract
1 bit 8 bit 23 bit

x=(1)S(1+Fract)2Expbiasx= (-1)^S * (1+Fract) * 2^{Exp - bias}
float.bias = 127, 因為指數的部分可能不一樣,有可能是正數也有可能是負數。但是 00000000 和 11111111 都不能用,這些要用在特別的地方。

# 例子

-0.75
0.7510=0.1120.75_{10} = 0.11_{2}, 但因為要做 normalizerd 所以變成:1.12211.1_{2} * 2^{-1}。exp = 127 + (-1) = 126

S Exp Fract
1 126 11000~

# 加法

的步驟

  1. Align
  2. Add
  3. normalize
  4. Round (要看小數的精確度)

# 電路圖

# 控制精確度 - Guard bit, round bit, stick bit

如果精確度只有兩位的話,在下一位稱為 guard bit, 在下一位稱為 round bit, 最後面幾位稱為 stick bit。