Это называется неточные вычисления. Всё дело в том, что в стандарте IEEE 754 на число выделяется ровно 8 байт(=64 бита), не больше и не меньше. Например число 0.1 (одна десятая) записывается легко в десятичном формате. Но в двоичной системе счисления это бесконечная дробь, так как единица на десять в двоичной системе так просто не делится. Вообщем складываются неточности, надо округлять.