|
. U3 G: }0 F' I# z
其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...
8 p9 T. h# }" Z
+ k: F. V( ?. j- i- {& oX 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍.
- L: E( |) M f; U: T0 W( W. L$ B" a/ `
這樣子 X = 2時, a = 1, n = 1
, N" o6 Y: N% yX = 6 時, x= 0.75, n = 3! c$ {, o0 F+ }
- m5 {* W, Z' g3 v: u" T/ l' W原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).
% U d" T9 n" X1 p" ^
: j! I5 v9 d$ J, E: c至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用
7 f5 ?: I, r/ X所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...4 e/ G6 w" I0 [. K
# V# J" E1 p7 H2 y
數學真的很重要! (雖然我都忘光了 haha)
. A* m# [$ j- n' Z+ R1 E) B8 \% }8 Y9 ^: s, M7 M
|
|