MPIR 是一个非常好的库,我目前在 C++ 中使用它来处理大量数字。不幸的是,它没有任何日志功能。因此,我正在为 MPIR 的 mpz_class 寻找一个快速的日志功能。
我们都很清楚,有些日志函数已经在 C++ 中提供(或应该提供),它们位于 Math 头文件 (Math.h) 中。不幸的是,他们不能处理大数字,这是我使用 MPIR 库的众多原因之一,
::mpz_class Log( ::mpz_class n ) {
::mpz_class ret;
return ret;
};
在某些情况下,n 的对数会返回浮点值。因此,我们的 log 函数必须能够返回一个浮点值。如果我们要执行 15 的 Log,它应该返回 1.17609125906。