Типы FLOAT и DOUBLE
Вся плавающая арифметика в "C" выполняется с двойной точностью каждый раз, когда объект типа float появляется в выражении, он удлиняется до double посредством добавления нулей в его дробную часть. когда объект типа double должен быть преобразован к типу float, например, при присваивании, перед усечением double округляется до длины float.