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為底的對數。結果將以整數或分數的形式返回。另一種方法是使用不同的對數底數和簡單的對數公式,如第二部分所示。為了獲得更準確的結果,我們還可以使用數值方法透過二分法、牛頓-拉夫森方法或任何其他非線性方程求解技術來計算對數結果。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP