gpt4 book ai didi

c++ - 避免舍入错误(特别是 float )c++

转载 作者:可可西里 更新时间:2023-11-01 15:51:41 26 4
gpt4 key购买 nike

http://www.learncpp.com/cpp-tutorial/25-floating-point-numbers/我最近一直在研究 C++。

虽然我们知道舍入误差的含义,但一般的计算机类(class)教授往往不会讲这些小事。

有人可以帮我解决如何避免舍入错误吗?

教程显示了示例代码

#include <iomanip>
int main()
{
using namespace std;
cout << setprecision(17);
double dValue = 0.1;
cout << dValue << endl;
}

这输出

0.10000000000000001

默认情况下, float 保持 6 位精度。因此,当我们覆盖默认值并要求更多(在本例中为 17!!)时,我们可能会遇到截断(如教程中所述)。对于double,最高为16。

一般而言,优秀的 C++ 程序员如何避免舍入错误?你们总是看数字的二进制表示吗?

谢谢。

最佳答案

该主题的规范建议是阅读 "What Every Computer Scientist Should Know About Floating-Point Arithmetic" ,作者:大卫·戈德堡。

关于c++ - 避免舍入错误(特别是 float )c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3420009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com