【发布时间】:2014-01-25 19:30:50
【问题描述】:
【问题讨论】:
-
“浮动和错误的结果?” - 是的,使用浮点数会得到错误的结果。他们就是这样工作的。但你不能可能 google“C++ 浮点算术错误结果”,对吧?
标签: c++ math subtraction
【问题讨论】:
标签: c++ math subtraction
【讨论】:
doc 网站上打开 off 开关时,我们无论如何都不会关心。
计算机以有限精度处理二进制格式的数字。各种简单的十进制数无法精确表示,因此给出了最接近的答案。
处理该问题的常用方法只是限制您实际显示的精度。如果您使用 C++ 流进行输出,那么 std::fixed 和 std::setprecision 操纵器应该会有所帮助。
【讨论】:
3.3 is represented in memory as 3.29999
和
2.6 is represented in memory as 2.59998
所以
3.3 -2.6 = 0.70001
this post 可能会让您对此事有更深入的了解
【讨论】:
这可能是因为浮点精度。尝试使用双精度。
【讨论】:
double 而不是float 只会使问题更小,并远离视线。你仍然可以得到奇怪的东西。