float
типът данни не представлява числа с десетични цифри. Той представлява числа с двоичен код, така че двоичните цифри в числата представляват степени на две, като 16, 8, 4, 2, 1, ½, ¼, ⅛ и т.н.
Числата, показани като „272,7“, „0,55“ и т.н., не са точни представяния на съхранените стойности. Например числото, показано като „272.7“, всъщност може да бъде 272.70001220703125.
Правилата, използвани за форматиране на числата за изход, може да скрият тези разлики от вас, като използвате по-малко от всички цифри, необходими за показване на точната стойност.
Когато добавите тези числа, разликите между действителните числа и близките десетични представяния може да нараснат или да се свият в зависимост от случайните вариации между разликите. Сумата, която виждате, е естествен резултат от тези допълнения.