|
( a8 p- }2 T T其實是原作者一時手快, 原文應該寫成下面這樣比較好懂..., w) {) J4 U: [5 |+ N+ I
8 V$ G$ b) ~4 E2 a* y' P [X 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍. + x9 t+ X; x; y4 {5 K8 y2 B: u
- o- Y7 ?1 @) p- A* q1 ^這樣子 X = 2時, a = 1, n = 1
/ @( u" n3 }+ T* n/ u* V3 gX = 6 時, x= 0.75, n = 3
7 [' A0 c6 i$ a. v
" N- g' k1 m, j7 Q原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).
8 [3 L* t( s/ k# r- z# a% u# \# {3 X9 o2 ^2 t
至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用# C8 M3 U9 G; D1 p4 |; \( B
所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...4 P$ D, {) q; @7 f% s$ D" g& m+ J
, U D5 c& b7 e O* e
數學真的很重要! (雖然我都忘光了 haha)
- N2 v/ q; N( z; n$ ^
( [- ]. `% X% t! ^7 R! r* A |
|