我々は次のコード計算ログベース2
(float)Math.Log(3.83031869)
私が得た出力が
1.342948
しかし、私は私が
を得た多くのオンライン計算機を使用して、同じ数のLOG2を計算しているを持ってみましょう1.93746
この問題の説明はありますか?前もって感謝します。
我々は次のコード計算ログベース2
(float)Math.Log(3.83031869)
私が得た出力が
1.342948
しかし、私は私が
を得た多くのオンライン計算機を使用して、同じ数のLOG2を計算しているを持ってみましょう1.93746
この問題の説明はありますか?前もって感謝します。
Math.Log(num)
は底eの対数を返します
Math.Log(num, base)
は、あなたが探しているものと考えられます。
としてはMath.Log
機能は、基地e
でログを計算MSDN http://msdn.microsoft.com/en-us/library/x80ywz41.aspx
に見ることができます。
http://msdn.microsoft.com/en-us/library/hd50b6h5.aspxをご覧ください。
引数を1つだけ指定してLogメソッドを呼び出すと、Logベースが取得されます。あなたが2.0の第2引数を提供する場合、あなたが期待する結果を得る:
//Testing in LinqPad
void Main()
{
Math.Log(3.83031869).Dump();
Math.Log(3.83031869, 2.0).Dump();
}
結果
1.34294800860817
1.93746443219072
をあなたにクリスありがとうございます。ところで、私はいくつかの数のLog2のOG( - 無限)を得た。どうすればこの問題を解決できますか? – FSm
その結果の原因は何ですか?ドキュメントによると、入力が0で底が1より大きい場合、または入力が+無限大で底が0と1の間にある場合に発生します。 –
ありがとうCharis – FSm