为什么dResult的输出是无效的?
环境:Visual Studio 2008
int _tmain(int argc, _TCHAR* argv[])
{
double dN = - 0.091023604111478473 ;
double dD = 0.127777777777777;
double dResult = pow( dN,dD );
//dResult = -1.#IND000000000000
return 0;
}
最佳答案
参见 http://www.cplusplus.com/reference/clibrary/cmath/pow/
double pow (double base, double exponent );
“如果基数为负且指数不是整数值,或者如果基数为零且指数为负,则会发生域错误,将全局变量 errno 设置为值 EDOM。”
关于C++ pow函数-无效结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4108411/