在C ++中使用pow()函数的意外结果

时间:2015-08-28 11:27:00

标签: c++

我已经写了这段代码:

onclick

当我指定<img src="myimage.jpg" onclick="self.location.href='venus.htm'">时,结果是99而不是100 当我将x,n,result更改为float类型时,输出为x = 10 n = 2 result = 100。

有人可以解释一下为什么会出现这种差异吗?

1 个答案:

答案 0 :(得分:0)

阅读C ++参考怎么样?这是what you can find about pow()

  

double pow(双基,双指数);
  float pow(float base,float exponent);
  long double pow(long double base,long double exponent);
  double pow(Type1 base,Type2 exponent); //额外的重载

如您所见,整数参数没有pow(),但您可以使用强制转换,如:

int x, n;  
{...}  
double result=pow(double(x),double(n));

更多信息写在这里:Why is my integer math with std::pow giving the wrong answer?