C++ pow功能工作不正常 用于(int i=0;i

C++ pow功能工作不正常 用于(int i=0;i,c++,C++,而pow有一个带有int指数的重载,而例如double可以精确地表示整数,pow不保证是特殊情况下的整数幂。它可能只是使用对数或其他方法来计算它们。因此,可以近似地计算整数幂。原因根据具体实现,即使使用整数次幂,它也可以生成近似结果。对于非整数次幂,它始终会生成近似结果。您可以使用以下格式获得所需的输出: for (int i=0; i<30; i ++) { cout<<pow(i,2); } for(int i=0;i电源出现问题:P@

pow
有一个带有
int
指数的重载,而例如
double
可以精确地表示整数,
pow
不保证是特殊情况下的整数幂。它可能只是使用对数或其他方法来计算它们。因此,可以近似地计算整数幂。

原因根据具体实现,即使使用整数次幂,它也可以生成近似结果。对于非整数次幂,它始终会生成近似结果。

您可以使用以下格式获得所需的输出:

for (int i=0; i<30; i ++)
    {   
       cout<<pow(i,2);
    }

for(int i=0;i电源出现问题
:P@P0W哈哈,很公平:这个问题似乎离题了,因为它是“愚蠢的浮点不工作”的第(n+k+2)个化身问题。请向我们展示一个我们可以运行并演示该问题的最小完整程序。这个问题更恰当地说是低质量
pow()的副本。
实现可以产生近似结果,即使数学结果完全可以表示。一个正确舍入的
pow()
当数学结果可以精确表示时,实现会产生精确的结果。这包括一些非整数幂,例如,对于正确舍入的
pow()函数,这包括
pow(4,0.5)==2
。感谢您的帮助!
for (int i=0; i<30; i ++)
    {   
       cout<<pow(i,2);
    }
for (int i=0; i<30; i ++)
{  
  floor(pow(l, ++x) + .5);
   cout<<a<<endl;
}