栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java log2x函数的实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java log2x函数的实现

Java实现 log ⁡ 2 ( ) log_2() log2​()函数

在编译大作业的乘除优化中,我参考了一篇paper里用到了 log ⁡ 2 x log_2x log2​x这一函数,但在复现的时候误用了Java中自带的Math.log()函数(该函数实现的是 ln ⁡ x ln x lnx的功能),导致优化时出现了偏差,影响了结果,因此在这里讨论实现Java中的 log ⁡ 2 x log_2x log2​x函数

在数学中,有一个换底公式,如下:
log ⁡ a b = ln ⁡ b ln ⁡ a log_ab = frac{ln b}{ln a} loga​b=lnalnb​
而Java中自带Math.log()方法和Math.log10()方法,可以有助我们实现 log ⁡ 2 x log_2 x log2​x这一函数,转换步骤如下:
log ⁡ 2 x = ln ⁡ x ln ⁡ 2 log_2x = frac{ln x}{ln 2} log2​x=ln2lnx​
因此,我们只需要对最后的结果除以 ln ⁡ 2 ln 2 ln2就行

本题代码如下:

public double log2x(double x) {
  return Math.log(x) / Math.log(2);
}

不光是 log ⁡ 2 x log_2x log2​x,本题可以推导至所有的 log ⁡ m x log_mx logm​x的形式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684472.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号