Tipo de datos float y double en Java

Rupam Yadav 12 octubre 2023
Tipo de datos float y double en Java

Los tipos de datos flotantes y dobles se utilizan para almacenar números reales o de punto flotante en Java, pero un tipo de datos doble es más preciso que flotante. double es el tipo de datos predeterminado para números de punto flotante.

Para almacenar números de punto flotante con precisión

Un flotante es un punto flotante IEEE 754 de 32 bits, mientras que un doble es un punto flotante IEEE 754 de 64 bits. Float tiene un rango más bajo en comparación con el doble.

En el ejemplo que se muestra a continuación, tenemos d de tipo de datos double, que se obtiene dividiendo dos variables double d1 y d2. Del mismo modo, tenemos f1 como resultado cuando se dividen dos variables flotantes f1 y f2. En el caso de double, no es necesario utilizar el sufijo d o D, mientras que para los datos de tipo float necesitamos utilizar el sufijo f o F como por defecto, todo real los números se consideran double en Java.

En la salida, podemos ver que la precisión y exactitud de la variable double d es mayor que la variable flotante f. Sabemos que double es un tipo de datos más grande que float, por lo que debemos reducirlo. Para encasillar double a float necesitamos mencionar la palabra clave float entre paréntesis antes del valor decimal.

Es visible en la salida que al convertir la variable double a flotante pierde datos y precisión ya que estamos almacenando un tipo de datos más grande en un tipo de datos más pequeño. Por lo tanto, double requiere más memoria para almacenar números flotantes de doble precisión y proporciona resultados precisos.

public class Test {
  public static void main(String args[]) {
    double d1 = 10.0;
    double d2 = 3.0;
    double d = d1 / d2;
    System.out.println("double d : " + d);

    float f1 = 10.0f;
    float f2 = 3.0f;
    float f = f1 / f2;
    System.out.println("float f : " + f);

    float f3 = (float) d;
    System.out.println("float f3 : " + f3);

    double d3 = f;
    System.out.println("double d3 : " + d3);
  }
}

Producción :

double d : 3.3333333333333335
float f : 3.3333333
float f3 : 3.3333333
double d3 : 3.3333332538604736

La diferencia entre los dos tipos de datos se puede ilustrar con los datos tabulares dados.

Tipo de datos Precisión Tamaño Default Tipo de datos Valor por defecto Sufijo Clase de envoltura Pérdida de datos Palabra clave
Flotador Precisión simple (6-7 dígitos decimales) 32 bits No 0.0f Use fo F.Necesitamos agregar este sufijo ya que, por defecto, los números flotantes se tratan explícitamente como dobles java.lang.Float Sin pérdida de datos al convertir flotante a doble La palabra clave flotante se utiliza para el tipo flotante
Doble Precisión doble (15-16 dígitos decimales) 64 bits 0.0d Utilice d o D. Opcional para utilizar el sufijo java.lang.Double Pérdida de datos al convertir doble a flotante La palabra clave double se utiliza para definir un número de doble precisión.

Float y double se utilizan para representar números reales. Ambos tipos de datos no son precisos; son tipos aproximados. Cuando necesitemos un resultado exacto y preciso, deberíamos apostar por el doble. Si hay alguna restricción de espacio o memoria, se debe considerar la opción flotante.

Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java Double

Artículo relacionado - Java Float