标签: c++
使用某些版本的minGW,以下代码将打印99。
int high; high = pow(10,2); std::cout<<high<<std::endl;
pow功能的参数是双倍,但为什么我得到99?有人可以告诉我隐藏在pow功能中的过程吗?
答案 0 :(得分:4)
将double转换为整数会截断小数部分。 pow(10,2)会产生稍微不准确的结果;如果它略高,你将获得100,如果它稍微低,你将获得99。
pow(10,2)
道德:如果您的意思是i*i,请写下i*i。
i*i