【发布时间】:2015-10-04 13:31:29
【问题描述】:
浮点数的一大难题是它们中的一些不能用二进制精确表示。这会使他们难以使用。然而,我很好奇的是浮点中的微妙或不那么微妙的错误是否是确定性的。例如,有人可以预测它们吗?下面是一个可以利用浮点错误的随机数生成器示例:
#include <cmath>
float constant = M_PI;
float generate()
{
static float state = 1;
state = state * constant;
return state;
}
人们必须知道实现、硬件、编译器设置等等,这使得很难预测结果会是什么。还是我的想法有问题?
【问题讨论】:
标签: c++ floating-point