关于c++pow()函数

来源:互联网 发布:centos apache php 编辑:程序博客网 时间:2024/06/05 09:30

       今天用c++的pow()函数发现了一个问题:

如果直接已pow(int,int)的方式来用的话会有误差,当然因为函数的参数应该是(double,double),但是把前一个参数改成double后误差就没了(至少比较小),但是如果同时把后面的参数也改成doubt的话误差又会出现,这是什么情况?

查阅资料后得到

double pow (double base     , double exponent);      float pow (float base      , float exponent);long double pow (long double base, long double exponent);     double pow (double base     , int exponent);long double pow (long double base, int exponent);

也就是说,使用(int,int)的参数时编译器无法确定使用那个重载版本(在hdoj上报错),但是某些编译器不会报错,这点需要注意

0 0
原创粉丝点击