|
4 R4 B+ Y2 A5 Q其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...
7 `$ e8 H! \& A8 N0 T# X+ j2 z. P: _) X
X 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍. 2 ^8 y- V' K- U7 X
# l5 o. H+ u4 b& e( B! ^5 w5 I- H4 Z/ B
這樣子 X = 2時, a = 1, n = 1
& _7 W* t5 f# a9 LX = 6 時, x= 0.75, n = 38 ^- j$ k+ m* u2 h/ J; u- _
$ X! m _% B7 @. X! {# s! Y5 ?原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).4 B6 l" G& |* L9 A5 h
& o% j/ v7 X8 x至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用5 ^) C$ ]* x8 o$ g/ p) O4 m
所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic..." D" [: W7 c% p1 o0 a3 @
' C7 u0 Y# e+ t: u數學真的很重要! (雖然我都忘光了 haha)
4 I: ?" l6 a7 k2 p/ o- ]4 x' }" J9 {. [# F' T% z
|
|