|
: n: J4 @* d! ?- R其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...
& e5 c+ k# W4 \/ A. r5 f* @2 v1 G) P( s( u9 a% o; ?, q2 b7 N8 J/ |4 M
X 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍.
/ E* H* d$ a2 k% C" J3 f$ C! T) D1 s1 x$ q/ f
這樣子 X = 2時, a = 1, n = 1$ H% }$ `/ h: {) T
X = 6 時, x= 0.75, n = 3
: q3 Y, `4 m" N/ a8 X" A5 A: p1 }& H/ k. G
原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).
& }2 t4 y, R" V8 @% w1 l
! w$ n# S: @1 `3 Y至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用
: @4 M. T E5 T3 f所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...8 h' c3 ]# F1 P+ U/ ?
0 V0 |% J! g; G& q+ s: s. r6 v數學真的很重要! (雖然我都忘光了 haha)& j+ G, {: t5 z; B- Y& p9 r+ y3 U; v
' r2 o3 v' \1 D; R |
|