我试图用 C++ 表示一组简单的 3 个概率。例如:
a = 0.1
b = 0.2
c = 0.7
(据我所知概率加起来一定是1)
我的问题是,当我尝试在 C++ 中将 0.7 表示为 float 时,我最终得到 0.69999999,这对我稍后进行计算没有帮助。 0.8 也一样,0.80000001。
在 C++ 中是否有更好的方法来表示 0.0 和 1.0 之间的数字?
请记住,这与数字在内存中的存储方式有关,因此在对这些值进行正确测试时,我不关心它们是如何显示/打印出来的。
最佳答案
这与 C++ 无关,而与 float 在内存中的表示方式有关。您永远不应该使用相等运算符来比较浮点值,请参阅此处以获得更好的方法:http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
关于c++ - 在 C++ 中表示概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1772579/