variable tipos objeto ejemplos declarar declaraciones datos constantes java floating-point minimum

tipos - ¿Valor máximo para Float en Java?



tipos de variables en java ejemplos (5)

La siguiente question indica que el valor mínimo de un Double es -Double.MAX_VALUE . ¿Esto también es cierto para Float (es decir, -Float.MAX_VALUE )?


EDITAR: Mi respuesta original parece ser incorrecto. Gracias @aioobe por señalar esto.

En su lugar, utiliza la magia del código java para responder la pregunta del título:

System.out.printf( "Float.MAX_VALUE: %,f/n", Float.MAX_VALUE );

Float.MAX_VALUE: 340,282,346,638,528,860,000,000,000,000,000,000,000.000000

System.out.printf("in scientific notation: %.18g/n", Float.MAX_VALUE );

en notación científica: 3.40282346638528860e + 38

System.out.printf( "in hexadecimal floating-point number with a significand and " + "an exponent: %a", Float.MAX_VALUE );

en número de coma flotante hexadecimal con un significando y un exponente: 0x1.fffffep127


Sí, -Float.MAX_VALUE es el número negativo con la mayor magnitud. float se representan de la misma manera que el double s, solo con la mitad del espacio de almacenamiento (y la pérdida de precisión que lo acompaña). Dado que los signos en IEEE 754 están representados por un solo bit, el cambio de ese bit no cambia la magnitud general que puede alcanzar los bits restantes.


Sí, es el mismo patrón de bits que Float.MAX_VALUE excepto con el bit de signo invertido ... y esa es otra forma de obtener el valor:

public class Test { public static void main(String[] args) { // Float.MAX_VALUE is intBitsToFloat(0x7f7fffff) // so we set the most significant bit - the sign bit float f = Float.intBitsToFloat((int) 0xff7fffff); System.out.println(f == -Float.MAX_VALUE); // true } }


Sí, lo es, y por la misma razón que se indica en la respuesta a la pregunta que vinculó, los Flotantes y Dobles utilizan la representación IEEE754 que es "simétrica" ​​debido a la forma en que se almacenan.