为什么log(1000) log(10)与log10(1000)不同?

为什么log(1000) log(10)与log10(1000)不同?,第1张

为什么log(1000)/ log(10)与log10(1000)不同?

您提供了代码段

for (int i = 10; i < 10000000; i *= 10) {   System.out.println(((int) (Math.log10(i)) + 1) +      " " + ((int) (Math.log(i) / Math.log(10)) + 1));}

来说明你的问题。只需删除强制转换,

int
然后再次运行循环即可。您将收到

2.0 2.03.0 3.04.0 3.99999999999999965.0 5.06.0 6.07.0 6.999999999999999

可以立即回答您的问题。正如tliff所说,强制转换会舍去小数而不是正确舍入。

编辑: 您更新到使用你的问题

floor()
,但像铸造
floor()
将全面 下降 ,因此下降的小数!



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5135727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存