|
- j. F/ a0 x) A8 |. g! x/ |其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...0 p+ Y; O9 k# r6 F' z
7 _* B8 d' d8 i* \7 VX 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍. - n0 ^5 k6 W8 v
, M* e8 ~/ A: ]" L這樣子 X = 2時, a = 1, n = 13 a" U; N2 ?7 O4 o" ` |
X = 6 時, x= 0.75, n = 3
1 J& G& A9 w" t5 Y, _* i- x2 W
8 e7 x" a: y8 X5 U3 T. ]原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).
; U p- I) ^& G6 v) U# k' p. h G2 z/ U! _0 c9 S- y7 o
至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用
% B; k1 n! O% C, |; E. B* t所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...: S6 v8 ~% O" X2 i3 y% m. s% `" ~
. W6 p, l% ~% |8 ?( d
數學真的很重要! (雖然我都忘光了 haha)) F" W$ `8 [) H: @& S) M
+ K6 J1 `6 [# K r- r5 p* f9 |
|
|