C++pow函数得到了一个奇怪的结果
C++ pow function get a weird result
使用某些版本的minGW,以下代码将打印99。
int high;
high = pow(10,2);
std::cout<<high<<std::endl;
pow函数的参数是双的,但为什么我得到99?谁能告诉我隐藏在pow函数中的过程?
将双精度转换为整数会截断小数部分。CCD_ 1产生稍微不准确的结果;如果它稍高,你会得到100,如果它稍低,你会获得99。
寓意:如果你的意思是i*i
,就写i*i
。
相关文章:
- 如何返回一个类的两个对象相加的结果
- 如何在一个表达式中生成并返回结果?
- Boost program_options将多个配置文件解析结果存储到一个parsed_options中
- 使用具有默认参数的函数模板进行 decltype 会使结果混乱(一个有趣的问题或 gcc 的错误)
- 为什么 QXmlQuery 似乎在结果中添加了一个""?(以及如何解决它?
- Fmod 函数清楚地输出一个预期的双精度值,但 if(fmod == 预期的双精度值)的计算结果不是 true
- 为什么在我的程序中输入另一个输入会给我不同的结果
- 调用一个小函数两次(例如在if条件和主体中)比将结果存储在局部变量中更可取
- 在C++中,是否可以编写一个条件的lambda,即只是一个计算结果为真或假的条件
- 如何在 for 循环中显示一个结果
- 为什么一个表达式中的 std::string 连接给出的结果与逐个字符不同的结果?
- 为什么需要 FPU 重置以防止 NaN 结果传播到下一个计算结果?
- 如果一个字符,比如说"9",我减去"0",我在结果上使用 is 数字,我是真还是假
- 插入指针数组会删除上一个结果
- 在 for 循环中仅显示序列的最后一个结果
- 谁能告诉我为什么这些功能没有在合理的频谱中给我一个结果
- 为什么cout以相反的顺序给我一个结果
- 对于给定的密钥,什么样的随机数生成系统会只返回一个结果
- 这只是最后一个结果
- 如何使用一个结果集处理程序消除多个类似的sql查询