В дополнение к тому, что уже было сказано, отслеживание 1.0 против 1.0f является более важным, чем думают многие.Если вы напишите код, подобный следующему:
float x;
...
float y = x * 2.0;
, тогда x будет повышен до двойного, потому что 2.0 - двойной.Компилятору запрещено оптимизировать эту рекламу, иначе это будет нарушать стандарт Си.Расчет выполняется с двойной точностью, а затем результат неявно усекается в число с плавающей точкой.Это означает, что вычисление будет медленнее (хотя и более точным), чем это было бы, если бы вы написали 2.0f или 2.
Если бы вы написали 2, константа имела бы тип int, который был бы повышенв поплавок, и расчет был бы сделан с «точностью поплавка».Хороший компилятор предупредит вас об этой акции.
Подробнее о правилах «обычного арифметического преобразования» читайте здесь:
http://msdn.microsoft.com/en-us/library/3t4w2bkb%28v=vs.80%29.aspx