- double mAns = log(243.0)/log(3.0);
- cout<<(int)mAns<<endl;
- double jAns = logf(243.0)/log(3.0);
- cout<<(int)jAns<<endl;
- double logAns = log10(n*1.0) / log10(3.0);
- cout< 其中mAns值为4.剩下两个为5.知道是精度的问题。不知道什么原理,以及区分使用。
关于math里log 和log10的精度问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
threenewbee 2016-03-03 22:08关注int强制转换是直接舍去尾数的取整,而不是四舍五入,哪怕是4.9999...无限接近5,也是4。你可以用math.round转换
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报