在幾乎所有現代程式語言中,我們可以找到一些對數函數,如自然對數、以2為底的對數、以10為底的對數等。但有時我們需要計算不在給定函式庫函數中的不同底數的對數。為了實現這個目標,我們可以使用簡單的對數公式。在本文中,我們將看到如何在C 中使用給定的數字和給定的底數計算對數值。
假設我們已經取了一個數x,它的基數是k,也已經給定。公式如下: follow −
的翻譯為:follow −#$$\mathrm{log_{k}\left ( x \right )=\frac{log_{m}\left ( x \right )}{log_{m}\left ( k \right )}}$ $
其中 m 是任何已知的(可用的基數)
C cmath函式庫提供了log10()方法,用於找出給定數字的以10為底的對數。我們 可以使用相同的函數來計算給定底數k的對數。使用的語法為: log10()的範例如下−
#include < cmath > Log10( <number> )
讀取兩個數字 x 和 k
res := (使用 log10(x) 找出以10為底的 x 的對數) / (使用 log10(k) 找出以10為底的 k 的對數)
return res
#include <iostream> #include <cmath> using namespace std; float solve( int x, int k){ float answer; answer = log10( x ) / log10( k ); return answer; } int main(){ cout << "Log base 8 for input x = 512 is: " << solve( 512, 8 ) << endl; cout << "Log base 9 for input x = 59049 is: " << solve( 59049, 9 ) << endl; cout << "Log base 2 for input x = 1024 is: " << solve( 1024, 2 ) << endl; cout << "Log base 4 for input x = 256 is: " << solve( 256, 4 ) << endl; }
Log base 8 for input x = 512 is: 3 Log base 9 for input x = 59049 is: 5 Log base 2 for input x = 1024 is: 10 Log base 4 for input x = 256 is: 4
在C 的cmath庫中,log2()方法允許使用者找到以2為底的對數 給定的數字。可以使用相同的函數計算指定基數 k 的對數 以下語法用於使用 log2() −
#include < cmath > Log2( <number> )
讀取兩個數字 x 和 k
res := (使用 log2( x ) 找出以 2 為底的對數 x) / (使用 log2( k ) 找出以 2 為底的對數 x)
return res
#include <iostream> #include <cmath> using namespace std; float solve( int x, int k){ float answer; answer = log2( x ) / log2( k ); return answer; } int main(){ cout << "Log base 8 for input x = 512 is: " << solve( 512, 8 ) << endl; cout << "Log base 9 for input x = 59049 is: " << solve( 59049, 9 ) << endl; cout << "Log base 2 for input x = 1024 is: " << solve( 1024, 2 ) << endl; cout << "Log base 4 for input x = 256 is: " << solve( 256, 4 ) << endl; }
Log base 8 for input x = 512 is: 3 Log base 9 for input x = 59049 is: 5 Log base 2 for input x = 1024 is: 10 Log base 4 for input x = 256 is: 4
在C 的cmath庫中,自然對數log()方法允許使用者找到對數 使用給定數字的基數'e'。可以使用指定基數k計算對數 相同的功能。以下語法用於使用 log() 函數 −
#include < cmath > log( <number> )
讀取兩個數字 x 和 k
res := (使用 log(x) 以 e 為底找到 x 的對數) / (使用 log(k) 以 e 為底找到 x 的對數)
#return res
#include <iostream> #include <cmath> using namespace std; float solve( int x, int k){ float answer; answer = log( x ) / log( k ); return answer; } int main(){ cout << "Log base 8 for input x = 512 is: " << solve( 512, 8 ) << endl; cout << "Log base 9 for input x = 59049 is: " << solve( 59049, 9 ) << endl; cout << "Log base 2 for input x = 1024 is: " << solve( 1024, 2 ) << endl; cout << "Log base 4 for input x = 256 is: " << solve( 256, 4 ) << endl; }
Log base 8 for input x = 512 is: 3 Log base 9 for input x = 59049 is: 5 Log base 2 for input x = 1024 is: 10 Log base 4 for input x = 256 is: 4
使用給定底數的對數公式可以得到對數的結果, 我們在給定的數字x上使用任何已知的底數對數方法,並將其除以 使用已知值作為新底數的對數基數作為輸入。在本文中,我們使用了 三個已知的現有對數函數,分別是log10()、log2()和log() [自然對數] 產生給定數字和它們給定的基數的結果。
以上是C++程式用於根據給定的底數計算給定數字的對數的詳細內容。更多資訊請關注PHP中文網其他相關文章!