+ 1
float x=0; x+=0.0000000 x+=0.0000000 x+=0.0000000 x+=0.0000000 x+=0.0000000 x+=0.0000000 x+=0.0000000 ... Then, x is not 0 Why? I don't know differ of float and double...
float double
2 Antworten
+ 2
It is true that when using floats, you may get rounding errors. Prefer using doubles whenever possible.
http://code.sololearn.com/cg5I858hOWHJ
#include <iostream>
using namespace std;
int main() {
float x=0.0;
double y=0.0;
int i;
for (i = 0; i < 10000000; i++) {
x+=0.0000001;
y+=0.0000001;
}
cout << x << endl;
cout << y << endl;
return 0;
}
0
If I understood your question well, you don't get the difference between double and float.
actually, double is like a long float, it can accommodate up to 14 numbers after the decimal fraction point while float can only accommodate up to 6 numbers. hope this clarifies it.