Probablemente la razón es que una vez escribió algo así como:
float f = 1/i; // i an integer
Habiendo depuradas que, juraron siempre para decorar literales suficiente como para obtener el tipo correcto:
float f = 1.0f/i;
En este caso, el .0
es para asegurar que la división sea de coma flotante, no de división entera. El f
se debe a que no es necesario realizar la operación en double
. Espero que exista una mayor probabilidad de una implementación donde 1.0/i
sea significativamente más lento sin beneficio (emulación de flotación de software, optimización indiferente) que con 1.0f
significativamente más lento sin beneficio (si el doble es más rápido que el flotante, eso se debe a que tiene hardware fp, por lo que la conversión entre los dos será muy rápida, por lo tanto, no introduzca reducción significativa de).
uno que usted tiene el hábito de literales de decoración, que bien podría escribir:
float f = 0.0f;
a pesar de que tiene exactamente el mismo efecto que float f = 0.0;
o float f = 0;
.
Por supuesto, es posible que el autor no haya pasado por esta revelación personalmente, que simplemente haya heredado el estilo de otra persona que sí lo hizo.
Me gustaría escribir 0
.
R .. señala en un comentario una respuesta más que escribir 0 también tiene la ventaja de que cuando cambie el tipo de f
en el futuro, no tiene que actualizar el literal para hacer coincidir. Y si la asignación es independiente de la definición, a continuación, cambiar:
float f = something
// some time later
f = 0.1f;
a:
double f = something;
// some time later
f = 0.1f;
es probablemente un error. Es mejor usar 0.1
y dejar que el compilador trunque flote si es necesario. Probablemente podría argumentar que usar float
es una optimización, por espacio si no es por tiempo, y la carga de lidiar con cualquier diferencia entre flotante y doble debe contarse como un costo de desarrollador para realizar esa optimización.
Muchos duplicados, p. Ej. ["f" después del número/flotante en Objective-C/C] (http://stackoverflow.com/questions/2391818/f-after-number-float-in-objective-cc) –
Probablemente dejaron el f una vez . Una vez mordido dos veces tímido. –