一个C ++实现的日志,可以指定基础?

时间:2011-11-30 11:49:18

标签: c++ math logarithm

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

Mathematical function definition http://i1091.photobucket.com/albums/i383/dannydeth1/forumla.png

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

感谢您的时间和任何答案,非常感谢。 :}

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

2 个答案:

答案 0 :(得分:16)

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

double log(double base, double x)
{
    return std::log(x) / std::log(base);
}

答案 1 :(得分:7)

自己实施起来很简单:

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

它通常有用吗?或实际上是loglog10log2所包含的所有用途?