C ++ pow函数得到一个奇怪的结果

时间:2014-04-10 04:19:48

标签: c++

使用某些版本的minGW,以下代码将打印99。

int high;
high = pow(10,2);
std::cout<<high<<std::endl;

pow功能的参数是双倍,但为什么我得到99?有人可以告诉我隐藏在pow功能中的过程吗?

1 个答案:

答案 0 :(得分:4)

将double转换为整数会截断小数部分。 pow(10,2)会产生稍微不准确的结果;如果它略高,你将获得100,如果它稍微低,你将获得99。

道德:如果您的意思是i*i,请写下i*i