在 整理 dB 一文時,想起曾經寫過一篇 對數 (Logarithm) 專文,它是在你沒有數學函式庫時,可以求解對數的方法,不過在組合語言設計程式的年代,八位元處理器的算力不夠強,我沒有使用這種計算法求解,而是採用查表法來求對數值,本文說明查表法可以如何設計。
如上圖所示,
設計 log10 ,就事先將 log10 數值 $n$ 等分,本範例把 log(x) 五等分,每一區間把它們視為線性,可以線性內插求值,例如求 y = log(2),(1.5849 - 2) / (2.5119 -2) = (0.2 - y) / (0.4 - y),y = 0.29在當時實作上我是將它 33 等分,這樣計算 log10 可誤差在 ± 0.01 範圍內。
沒有留言:
張貼留言