我们有以下代码
(float)Math.Log(3.83031869)
Run Code Online (Sandbox Code Playgroud)
我得到的输出是
1.342948
Run Code Online (Sandbox Code Playgroud)
但是当我使用许多在线计算器计算出相同数量的Log2时,我得到了
1.93746
Run Code Online (Sandbox Code Playgroud)
可以解释这个问题吗?提前致谢.
可以在MSDN中看到http://msdn.microsoft.com/en-us/library/x80ywz41.aspx
该Math.Log函数使用base计算日志e.
请参阅http://msdn.microsoft.com/en-us/library/hd50b6h5.aspx以了解您的需求.
仅使用单个参数调用Log方法时,您将获得Log base e.如果你提供2.0的第二个参数,你会得到你期望的结果:
//Testing in LinqPad
void Main()
{
Math.Log(3.83031869).Dump();
Math.Log(3.83031869, 2.0).Dump();
}
Run Code Online (Sandbox Code Playgroud)
结果
1.34294800860817
1.93746443219072
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27305 次 |
| 最近记录: |