gpt4 book ai didi

C++如何避免浮点运算错误

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

<分区>

我正在编写一个以 float 递增的循环,但我遇到了一个浮点运算问题,如下例所示:

for(float value = -2.0; value <= 2.0; value += 0.2)
std::cout << value << std::endl;

这是输出:

-2
-1.8
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
1.46031e-07
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8

为什么我得到的是 1.46031e-07 而不是 0?我知道这与浮点错误有关,但我无法理解为什么会发生这种情况以及我应该采取什么措施来防止这种情况发生(如果有办法的话)。有人可以解释(或指向一个链接)来帮助我理解吗?任何输入表示赞赏。谢谢!

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