0

我最近一直在玩一些数学,我想知道是否有人写过/看过日志的 C++ 实现,可以为它指定基数(root..?)?如:

数学函数定义 http://i1091.photobucket.com/albums/i383/dannydeth1/forumla.png

显然,我更愿意将基数作为参数: double d = log(b,x);

感谢您抽出宝贵时间,非常感谢您提供任何答案。:}

编辑:另外,我认为它会使用泰勒级数?

4

2 回答 2

17

log_b_(x) = log(x) / log(b)。只需这样做:

double log(double base, double x)
{
    return std::log(x) / std::log(base);
}
于 2011-11-30T11:54:50.007 回答
8

自己实现很简单:

double
logb( double n, double b )
{
    return log(n) / log(b);
}

一般有用吗?或者实际上所有的用途都被loglog10所包含log2

于 2011-11-30T11:56:00.817 回答