|
4 F' z- |5 w5 _' `
其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...
6 ~3 [' b0 X l' n. D, z( r. e4 @+ i" V, D9 I# v
X 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍. & w2 X' P& B# a0 e8 `
4 p3 u+ Z1 |8 Z+ w% c1 |0 F m
這樣子 X = 2時, a = 1, n = 1) t0 r2 g7 H- a
X = 6 時, x= 0.75, n = 3
$ @' ?- s0 c; B z! w& [: D$ I# C9 s( ]/ f+ F; H
原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).+ E) R$ o2 J; ]0 G
" N. M3 m5 O$ A8 Q) [6 B" D) f; k; F至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用5 i( e. {6 b. V3 @" v
所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...& ?1 M+ m/ }6 w2 T2 o
* y E3 t3 k) e8 N5 T- Z9 ~數學真的很重要! (雖然我都忘光了 haha), v4 p/ H6 _7 f* I0 a5 t; I
X$ f* u4 d1 z3 g- @* J
|
|