Dziwny problem Float vs. Dobule

0
 Double versionD = 3.2d;
	   versionD = versionD + 0.1d;

Okazuje się, że versionD = 3.3000000000000003;

Float versionF = 3.2f;
          versionF = versionF + 0.1f;

Tutaj versionF = 3.3;

Skąd się bierze takie dziwne zachowanie w przypadku Double??

0

Poczytaj jaka jest reprezentacja floatów, przekonwertuj sobie kilka liczb ręcznie i sprawdź co ci wyjdzie. Podpowiedź: floaty nie są dokładne. Ani w sumie żadne inne. Na przykład do precyzyjnej reprezentacji liczby pi musiałbyś mieć nieskończoną pamięć i nieskończoną ilość czasu na obliczenie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1