|
9 Q! V4 }. R0 L; @ f
其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...
/ g7 C0 `3 c9 ~3 Y, Z B
' Y/ ~9 ~# h! I6 MX 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍. ( N$ r/ X6 U# N
3 W" q6 O9 _5 [2 `. r2 H- ` u這樣子 X = 2時, a = 1, n = 1
3 m2 ~$ w( O2 }* T$ r) }) ^, e2 x$ sX = 6 時, x= 0.75, n = 3' _# _9 V d( B3 Z
: r/ w7 c9 d: ?- b9 Z原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).
/ N, {$ r' `0 \- G, p, o4 l$ T& U4 G2 ?* ]
至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用
1 q; ^ b' W$ e, I% `# I! }1 K1 A所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic.../ l) D9 c' t/ I& m s. g- u* y
+ Y" k1 h! J' w5 |: u
數學真的很重要! (雖然我都忘光了 haha)4 k6 Q V* t9 _ m, t' }) [) W
: Y7 ^/ o2 v" M; d5 G |
|