我试图在 C# 中找到一个非常大的 BigInteger 的对数。我不在乎对数的底是什么。当我尝试这个时:
BigInteger b = 1000; // the base
// myBigInt is a huge BigInt i want to find the Log of.
exponent = BigInteger.Log(myBigInt, 1000); //Find the Log
// Re-create the orignal BigInt now that I know base and exponent
BigInteger.Pow(b, Convert.ToInt32(exponent));
我得到一个溢出异常,因为 Int32 不能保存日志的结果。增加 base 的值是行不通的。