double d, x;
d=1.0/10.0;
x=0;
while (x<1)
{
cout << x << endl;
x+=d;
}
A může mi někdo přesně říct, proč poslední vypsané x je 1? A proč 0.7 + 0.1 není 0.8? Já vím, že je to dáno zřejmě nepřesností reprezentace toho doublu, ale proč to tak je?
překladač gcc verze 4.3.0