C++程式計算給定值的以10為底的對數


以10為底的對數在各種應用中的自然計算中是相對需要的。對於競爭性考試,有一些快速的方法可以記住一些對數值。在程式設計時,可以使用庫函式計算對數結果,也有一些捷徑。在這篇文章中,我們將介紹幾種在C++中計算給定數字以10為底的對數的方法。

使用log10()函式

一個用於確定給定引數以10為底的對數的庫函式稱為log10()。整數或浮點數可能是結果。使用此方法非常簡單;您只需使用單個整數引數呼叫該函式,並使用cmath庫即可讓它為您計算以10為底的對數。讓我們看看語法和相關程式以瞭解其使用方法。

語法

#include < cmath >
log2( <number> )

演算法

  • 輸入一個數字x
  • 使用log10( x )計算x的以10為底的對數
  • 返回結果。

示例

#include <iostream>
#include <cmath>
using namespace std;
float solve( int x ){
   float answer;
   answer = log10( x );
   return answer;
}
int main(){
   cout << "Log base 10 for input x = 100 is: " << solve( 100 ) << endl;
   cout << "Log base 10 for input x = 1000 is: " << solve( 1000 ) << endl;
   cout << "Log base 10 for input x = 5487 is: " << solve( 5487 ) << endl;
   cout << "Log base 10 for input x = 25479 is: " << solve( 25479 ) << endl;
}

輸出

Log base 10 for input x = 100 is: 2
Log base 10 for input x = 1000 is: 3
Log base 10 for input x = 5487 is: 3.73934
Log base 10 for input x = 25479 is: 4.40618

使用其他底數的對數函式

對數的一些有趣特性。我們可以從任何底數計算對數在另一個底數上的輸出。要使用任何對數底數(例如k)進行計算,可以使用以下公式。

$$\mathrm{log_{10}\left ( x \right )=\frac{log_{k}\left ( x \right )}{log_{k}\left ( 10 \right )}}$$

演算法

  • 輸入一個數字x
  • nume := 以k為底x的對數
  • deno := 以k為底10的對數
  • 返回 ( nume / deno )。

示例

#include <iostream>
#include <cmath>
using namespace std;
float solve( int x ){
   float nume, deno;
   nume = log( x );
   deno = log( 10 );
   return nume / deno;
}
int main(){
   cout << "Log base 10 for input x = 100 is: " << solve( 100 ) << endl;
   cout << "Log base 10 for input x = 1000 is: " << solve( 1000 ) << endl;
   cout << "Log base 10 for input x = 5487 is: " << solve( 5487 ) << endl;
   cout << "Log base 10 for input x = 25479 is: " << solve( 25479 ) << endl;
}

輸出

Log base 10 for input x = 100 is: 2
Log base 10 for input x = 1000 is: 3
Log base 10 for input x = 5487 is: 3.73933
Log base 10 for input x = 25479 is: 4.40618

結論

可以使用cmath包的log10()方法計算以10為底的對數。結果將以整數或分數的形式返回。另一種方法是使用不同的對數底數和簡單的對數公式,如第二部分所示。為了獲得更準確的結果,我們還可以使用數值方法透過二分法、牛頓-拉夫森方法或任何其他非線性方程求解技術來計算對數結果。

更新於: 2022年12月7日

640 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告