|
0 O" Z# O, O! m0 M$ y+ V) ~( e其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...' [. s5 c/ Z2 `9 ^3 n
$ s1 v5 }8 u* b
X 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍. + E; T; _( ^4 K: ~& F
. F. _$ w8 T4 o# x& k
這樣子 X = 2時, a = 1, n = 1
! I& c3 F7 R4 DX = 6 時, x= 0.75, n = 38 u# {! [1 j9 m! `9 B" J* }( p
; L! K0 F5 j& M# g- n原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).6 E) l/ i$ ~! w; G3 M
& W: f& { n6 L至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用
]( l7 K9 {: o* f所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...4 w& D) r8 @- q* Z, t- r6 `6 x
7 X. B' E7 J. @) Y4 K) q: S數學真的很重要! (雖然我都忘光了 haha)
/ r/ D- [8 @$ ]6 U. ^/ ]4 a, r F" `, s
|
|