|
( k1 ^- r% ]* g# C' |5 C
其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...
' U" u: K( ~; P- q |
6 v1 t1 B& U# ^5 V% R$ yX 先寫成 X = a * 2^n, (a = 0.5~1) 的form(形式) , 將乘數 a 給normalized to 0.5~1的範圍.
+ u5 |. p% b$ p3 g4 F( b" w, r4 V& p4 @! _' e# M: k- T d
這樣子 X = 2時, a = 1, n = 1
; \ A, X( \5 e4 ]9 B$ Y* bX = 6 時, x= 0.75, n = 3. C$ j- U% T7 D" `
. ^$ k, {1 ~* L- u原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).) O8 q7 C* t$ h& C
* I$ W9 U: A8 W% X6 D至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用
0 k. }# L/ v! f所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...- X4 p7 E. M( n' A" h) ^( W% C' p- m- U
1 S2 R0 T5 s# N: W Z8 Q- i數學真的很重要! (雖然我都忘光了 haha), A, N# W% b5 E. W* T# G4 {$ `4 A+ _
6 t( G& y5 G" A# n, a4 \ |
|