C++ logx(n)的库函数

C++ logx(n)的库函数,c++,C++,我想计算logx(n)的值,其中x是基数,n是任意整数。C++中有没有库函数来进行操作?或者我需要手动操作?如果我需要手动操作,我该怎么做? 我试过这样做,但它说“logx没有声明” intx,n; cin>>x>>n; 库特 C++中是否有任何库函数来执行操作?< /P> 标准库中没有这样的函数。但是,它很容易实现,因此实现可能存在于另一个库中 或者我需要手动操作 你可以手工做 如果我需要手动操作,我该怎么做 运用数学的魔力。下面的等价性使得使用C++标准库提供的自然对数函数实现简单, lo

我想计算logx(n)的值,其中x是基数,n是任意整数。C++中有没有库函数来进行操作?或者我需要手动操作?如果我需要手动操作,我该怎么做? 我试过这样做,但它说“logx没有声明”

intx,n;
cin>>x>>n;
库特

C++中是否有任何库函数来执行操作?< /P> 标准库中没有这样的函数。但是,它很容易实现,因此实现可能存在于另一个库中

或者我需要手动操作

你可以手工做

如果我需要手动操作,我该怎么做

运用数学的魔力。下面的等价性使得使用C++标准库提供的自然对数函数实现简单,

logb(x)=loge(x)/loge(b)

其中,
x
是大于0的任何数字,logb是以
b
为底的对数,loge是自然对数

我试过这样做,但它说“logx没有声明”


这可能是尝试猜测函数名称的结果。我建议您查看参考资料或书籍,了解哪些功能可用。

您必须手动更改基数。C++提供:

  • -碱基e
  • -基数10
  • -基地2
  • -也使用碱基e
您可以使用这个技巧来查找您的值,因为您需要使用
log2
进行优化

例如,如果你想做log13(42),你可以做:

log2(42) / log2(13)

请参见更改基准
log(n)/log(x)
?例如
log10(n)=log(n)/log(10)
logx(n)这里x是基数,n是任意整数。如果你知道它是错的,为什么要包括一个非常大的屏幕截图呢?欢迎来到堆栈溢出!你的文本图像。它不能被大声朗读或复制到编辑器中,而且索引也不太好,这意味着其他有同样问题的用户在这里找到答案的可能性较小。请您的帖子直接加入相关文本(最好使用复制+粘贴以避免抄写错误)。非常感谢much@Hafiz如果这解决了你的问题,别忘了接受。我得到了答案。谢谢:)你能解释一下为什么你要用
log2()
而不是
log()
来更改基数吗?在某些平台上,一个是硬件实现的,另一个是软件实现的?(如果是,是哪种平台?@TobySpeight由于我们使用的所有数字都存储在计算机上的base 2中,这就很简单,只需获取最高有效位的位置即可。这是一个单周期指令:对不起,我忘了这都是整数——当我看到数学函数时,我倾向于假设某种类型的浮点输入。我应该更仔细地阅读这个问题!
log2(42) / log2(13)