|
3 @# W, K/ x& F( H% r其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...
% s, i: C. h; _
. j8 n$ m- _0 E3 zX 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍. @; y; V/ H+ I9 |7 z
" [" ?9 z3 a5 ~: p. W7 k這樣子 X = 2時, a = 1, n = 1
) K4 H4 T/ J$ Z( {, r2 O& G( ]X = 6 時, x= 0.75, n = 3) e4 `& V) a# B+ W$ D$ s
7 u1 i- m2 H. e% l* Z3 V6 v }' k原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).2 k3 y# |8 h9 b' |. b3 Y
; `# ^( L2 ^$ E: @
至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用( b) s3 X1 S, ]: ~/ Q f, m8 z
所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...7 l5 s& x' I- C2 V- L
1 c3 T0 S9 R) r5 w, w$ f- l1 x
數學真的很重要! (雖然我都忘光了 haha)# A. P) a, l0 ~7 D
) Z$ h& C/ k b& V4 W |
|