float
typ danych nie reprezentuje liczb z cyframi dziesiętnymi. Reprezentuje liczby w systemie binarnym, więc cyfry binarne w liczbach reprezentują potęgi dwójki, takie jak 16, 8, 4, 2, 1, ½, ¼, ⅛ i tak dalej.
Liczby pokazane jako „272,7”, „0,55” itd. nie są dokładnymi reprezentacjami przechowywanych wartości. Na przykład liczba pokazana jako „272.7” może w rzeczywistości wynosić 272.70001220703125.
Reguły używane do formatowania liczb na wyjściu mogą ukryć te różnice przed tobą, używając mniej niż wszystkich cyfr potrzebnych do pokazania dokładnej wartości.
Po dodaniu tych liczb różnice między rzeczywistymi liczbami a pobliskimi reprezentacjami dziesiętnymi mogą rosnąć lub zmniejszać się, w zależności od przypadkowych różnic między różnicami. Suma, którą widzisz, jest naturalnym wynikiem tych dodatków.