|
. S2 S& D r( P, o
其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...3 _" |- C1 X( P" z
! m: u* x7 {4 R
X 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍. ' Q- Q- r% ^8 Q! f. f
8 j5 u' d" b( f, T8 e9 o這樣子 X = 2時, a = 1, n = 1% \3 m; ]; R, O& }1 H% F( B
X = 6 時, x= 0.75, n = 3
& n( f: y6 ]6 C0 E* e3 h
8 Z0 |9 n& a3 u原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).
9 M) H& c9 Z; A& K T" v0 Y! @4 h' J+ A6 d
至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用
, J( u& g* U* Y5 A& T/ X所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...6 ?* ^) a! ?% ^8 N0 ?
. j" p1 x, S9 l/ j0 E9 |
數學真的很重要! (雖然我都忘光了 haha)6 J8 Z' L+ \3 @ u, ] d/ Y
4 X! \$ n$ k0 k
|
|