可能重复:
浮点数的总和不准确
所以我有代码:
#include <iostream>
using std::cout;
using std::endl;
int main () {
float x = 0.0001;
float y = 0;
for (int i=0; i < 10000; i++) {
y += x;
}
cout << y << endl;
return 0;
}
我期望输出为 1,但我得到 1.00005,怎么会?我需要更改什么才能使代码或多或少保持相同的“1”?