¿Me puede ayudar a aclarar los usos de la primitiva float en Java?¿Con qué propósito Java tiene un tipo primitivo flotante?
Mi comprensión es que la conversión de un valor de flotación a doble y viceversa puede ser problemático. Leí (hace bastante tiempo y no estoy seguro de que ya sea verdad con las nuevas JVM) que el rendimiento de Float es mucho peor que el doble. Y, por supuesto, los flotadores tienen menos precisión que el doble.
También recuerdo que cuando trabajé con AWT y Swing tuve algunos problemas con el uso de flotación o doble (como usar Point2D.Float o Point2D.Double).
Por lo tanto, veo sólo 2 ventajas de flotación más del doble:
Se necesita sólo 4 bytes mientras que las necesidades dobles 8 bytes
el modelo de memoria de Java (JMM) garantiza que la operación de asignación es atómico con variables flotantes mientras que no es atómico con dobles.
¿Hay algún otro caso en el que el flotador sea mejor que el doble? ¿Usas flotador en tus aplicaciones?
"Me parece que la única razón valiosa por la que java ha flotado es la compatibilidad con versiones anteriores". Usted dice esto cuando ha enumerado previamente dos ventajas de 'float' ... –
* Demagogy? * Tal vez podría haberlo dicho mejor (" ¿Cuándo usar 'float' en lugar de' double'? "), Pero * demagogy? * – egrunin
¿Qué ventaja tiene short sobre int si int tiene un rango mayor? La respuesta es la misma aquí. – Malcolm