
在几乎所有现代编程语言中,我们可以找到一些对数函数,如自然对数、以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
立即学习“C++免费学习笔记(深入)”;
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
立即学习“C++免费学习笔记(深入)”;
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
立即学习“C++免费学习笔记(深入)”;
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中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号