|
9 T# \2 ]+ ^0 P8 m( `( m
其實是原作者一時手快, 原文應該寫成下面這樣比較好懂..." ^4 x% P6 w9 J' v( k5 Q
5 D5 M, N2 z$ g- Q- N* ~8 SX 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍. ( h5 j" r$ L) I$ V- \# D/ r
0 a1 j2 E: b- q* D. I. c這樣子 X = 2時, a = 1, n = 1
( i# f- f/ z. P3 h- xX = 6 時, x= 0.75, n = 3: W6 d) F8 w. b& Z8 W: T( w
P/ E9 S3 @+ ?+ z8 @原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).
4 y8 X# W, ]: e) ~ f, t L
' I) ~4 c( f( ^4 m. N1 P至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用+ A+ t3 f N V: B5 N
所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...0 _8 z, s! I6 F
5 ]* {6 E0 q- a數學真的很重要! (雖然我都忘光了 haha)
1 O0 X! E3 |( B, [" e3 d
5 A! c3 H4 O) h) ?5 I6 `( _ |
|