如何实现对数计算 以10为底的log

lwq_qwl 2015-01-22 09:37:20
想请教下如何DSP系统下实现以10为底的log运算 (先不考虑查表的方法,不调用库函数 )?
对数的运算范围目前是300到5000之间的整数。
谢谢啦!
...全文
2644 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mLee79 2015-01-23
  • 打赏
  • 举报
回复
就 log10(x) = log(x) / log10 啊, 算自然对数用 log( (1+x)/(1-x) ) = 2 * SUM( (x**(2*n+1) / (2*n+1) ) (n>=0) 这个级数... 用 log(x*2**n) == n*log2 + log(x) 把自变量换到 [1,2) 范围内, 算到上面的公式里就在 [0,1/3) 的范围, 要10来位的精度只要级数前面10来项就够了..
赵4老师 2015-01-22
  • 打赏
  • 举报
回复
查表
lm_whales 2015-01-22
  • 打赏
  • 举报
回复
300 =2.xx...5000=3.xxxx 其实查表很简单的, 如果是实数运算,可以用级数算,不过收敛速度可能不够快 一般数学函数,需要专门的算法, 不然的话, 虽然也能够的到结果, 不过精度,效率很成问题
lm_whales 2015-01-22
  • 打赏
  • 举报
回复
如果结果也是整数的话,除法即可

70,022

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧