【发布时间】:2014-08-05 03:26:40
【问题描述】:
我用 C++ 制作了一个使用双精度的 BOMDAS 计算器。每当我输入像
这样的表达式1000000000000000000000*1000000000000000000000
我得到类似 1000000000000000000004341624882808674582528.000000 的结果。我怀疑它与浮点数有关。
【问题讨论】:
-
@mc110 感谢您的编辑,兄弟 :)
-
stackoverflow.com/questions/872544/precision-of-floating-point 提供有关浮点精度限制的更多信息,这将是相关的 - 如果您在计算器中使用 FP 表示,您将不得不期望您会看到这类问题。
-
@mc110 所以基本上,我必须学会忍受这个?
-
@SkyLightna 如果你必须忍受使用
doubles,你只需要忍受它。您可以使用其他类型获得“无限”精度。
标签: c++ math floating-point double