|
2 Q( u, v# \. ^) ~1 {
其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...
" T0 [* L, ?4 {" f$ A
% S7 t' s9 Q/ h4 C; m. E G' G$ gX 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍.
. h ~" o. n3 Y# ?
6 b2 P. a# P/ a1 f$ z0 r這樣子 X = 2時, a = 1, n = 1. \6 R& d7 Q7 z- e. Q0 O
X = 6 時, x= 0.75, n = 3% V- M% I2 f& H( O$ `4 a
4 z0 {7 j2 z7 e# |0 K
原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).) z8 S" W; R; z- Q
8 s- t. I- q0 D
至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用3 \/ Q( x& R% C$ Z1 r4 u
所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...: d! ~ m; Y8 A$ P# l! P
, Y) J- q7 `$ m& D- T, J5 {
數學真的很重要! (雖然我都忘光了 haha)
3 O4 N7 E6 f, t/ I$ o; i+ y, `4 a+ t1 h) ^9 y
|
|