pow函数的误差 sunzhen · 2019-07-10 10:36:57 · 个人记录 由于pow()函数的原型为double pow(double x,double y); 所以在进行整数的指数运算时会产生误差 例如 (int)pow(10,2);的返回值为99 因为在强制转化为int时,原先的浮点值99.9999999发生了截断,失去了精度 解决方案: 在计算整数的指数运算时,写成如下形式 (int)(pow(x,y)+0.5); 在截断取整时会得到想要的结果。