Ger*_*ner 0 c++ algorithm math exponentiation
std :: pow适用于大多数基本值和指数值的组合.
然而,当基数是负数和分数时,std :: pow龙骨.
在下面的示例中,当预期值大致为:-1.2332863005546时,返回NaN(根据定义)
#include <cmath>
#include <cstdio>
int main()
{
double a = -1.1;
double b = 2.2;
double c = std::pow(a,b);
printf("%5.2f ^ %5.2f = %25.10f\n",a,b,c);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:关于如何开发通用pow函数的任何想法,当基数为负时返回非NaN值?
更新 - 总会有一类结果只能用复数表示.