You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中Math.log(0.5)与计算器计算结果不一致的原因咨询

Math.log(0.5)与计算器结果差异的原因

问题出在对数的底数不同:

  • Java里的Math.log()方法计算的是自然对数(以e为底,也就是ln),ln(0.5)的精确值约为-0.6931,和你得到的-0.69匹配。
  • 普通计算器默认的「log」按钮,计算的是常用对数(以10为底,log₁₀),log₁₀(0.5)的精确值约为-0.3010,所以你看到的是-0.3。

如果需要在Java里得到和计算器一致的结果,有两种方式:

  1. 直接用Math.log10(0.5),这个方法专门计算以10为底的对数;
  2. 用换底公式手动计算:Math.log(0.5) / Math.log(10),结果和Math.log10完全一致。

内容的提问来源于stack exchange,提问作者Jonas Lu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 22:35:20