|
1 @9 w' O$ a% m, ?其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...
3 ~+ n2 R* {: ]0 X! \$ \
8 ^9 j! I6 a3 R1 eX 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍.
+ @# ~, b' ?2 M' ~
& ?3 _/ J# N# d這樣子 X = 2時, a = 1, n = 19 F1 ~* d' F" k/ C2 Q# Z6 q4 Y
X = 6 時, x= 0.75, n = 3 |1 I$ e% b+ B1 E2 v
/ o# I6 M( u1 {$ @, Y原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).! u3 s' _3 L w0 x" k2 G F
, o' h9 n$ h# o1 B
至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用
. B1 [, X3 D5 c! N/ F所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...
* w- C# M6 G4 ]: f) W, e* E$ N6 r
數學真的很重要! (雖然我都忘光了 haha)
" b1 ~5 K( b6 D& e4 C Q/ J$ D: i- J* D; O: p9 Q6 R) y2 t
|
|