|
2 I) ^& d0 M9 v3 V9 h其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...
- _4 I# i* \( c; v& X4 r! Y6 u. l: \4 o) A/ w) K, ?& l) ]5 s4 x
X 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍.
. f! A1 Z6 ]+ P5 d1 V6 G
T S1 @( N( |/ u9 C這樣子 X = 2時, a = 1, n = 1. r* y# K% @7 q
X = 6 時, x= 0.75, n = 3
6 w `% O0 ~6 _9 }( r" ?9 [; p
0 G# ~+ G* }: ?" j* ?3 X0 [原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).
4 \ B6 Y! K6 W% k4 g
) u8 k$ ~! z$ a" U& i: O/ }至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用
+ z- _, m, x; ^3 g: M所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...6 a9 L# I' t9 q9 _
: v# C( S8 `! f; f) _% X數學真的很重要! (雖然我都忘光了 haha)( s* P x+ N8 k g# P
" u. z" t6 l; {9 ]! |. t |
|