Hej, wiedziałem od dłuższego czasu, że komputer ma czasami problem z działaniami na liczbach zmiennoprzecinkowych, ale nie sądziłem że aż takie.
int main()
{
std::cout << std::fixed << std::numeric_limits<float>::max() / 1.33;
}
Program wypisuje: 255851388450021679222896149935717089280.000000
Poprawny wynik: 255851388450021699106544498860539041684.210526
Wytłumaczy mi ktoś dlaczego tak się dzieje i w jaki sposób mogę bronić się przed tego typu złymi wynikami?