logo

Flotador Vs Doble Java

En Java, Java.

Hay dos tipos de datos de punto flotante:

edad de pete davidson
  • Tipo de datos flotante
  • doble tipo de datos

Tanto float como double representan los números de punto flotante que almacenan los valores decimales.

Tipo de datos de punto flotante Valores Tamaño (bits)* Requisito de almacenamiento (bytes) Valor por defecto Precisión Dígitos decimales Rango Exactitud
flotar IEEE 754 de punto flotante 32 4 0.0f Soltero 6 dígitos decimales 3.4e-038 a 3.4e+038 Bajo
doble IEEE 754 de punto flotante 64 8 0.0d Doble 15 dígitos decimales 1.7e-308 a 1.7e+308 Alto

*Los bits de tamaño incluyen lo siguiente:

bits flotar doble
Firmar 1 1
Exponente 8 11
mantisa 23 52

Precisión simple: Consiste en uno bit de signo (S), ocho bits de exponente (E), y veintitrés bits de mantisa (M).

Precisión doble: Consiste en uno bit de signo (S), once bits de exponente (E), y cincuenta y dos bits de mantisa (M).

Flotador Vs Doble Java

Tipo de datos flotante

Es un número de punto flotante IEEE 754 (estándar para aritmética de punto flotante) de precisión simple de 32 bits. Significa que proporciona una precisión de 6 a 7 dígitos decimales. Se utiliza si queremos utilizar la memoria de forma eficaz porque requiere menos memoria en comparación con el tipo de datos doble. Para definir un valor flotante, debemos usar un sufijo f o F. Su valor predeterminado es 0.0f. De forma predeterminada, los números flotantes se tratan como dobles en Java.

Por ejemplo, si definimos un número flotante como:

 float height = 167.7 

La declaración anterior de variable flotante da el error de compilación. Podemos corregir el error agregando un sufijo f o F.

 float height = 167.7f or float height = 167.7F 

doble tipo de datos

El tipo de datos doble es un número de punto flotante IEEE 754 de doble precisión de 64 bits. Significa que proporciona una precisión de 15 a 16 dígitos decimales. Consume más memoria en comparación con el tipo de datos flotante. Se utiliza para almacenar valores decimales. Su valor predeterminado es 0.0d. Es opcional agregar el sufijo d o D. Por ejemplo:

 double price = 987.90D or double price = 987.90d or double price = 987.90 

tipo de datos flotante vs doble

El tipo de datos doble es más preciso que el tipo de datos flotante. La siguiente tabla resume las diferencias entre los tipos de datos flotantes y dobles.

Base Tipo de datos flotante doble tipo de datos
Memoria Ocupa 4 bytes. Ocupa 8 bytes.
Exactitud Su precisión es bajo . Su precisión es alto .
Precisión Sigue precisión simple (6-7 dígitos decimales). Sigue Precisión doble (15-16 dígitos decimales).
Palabra clave utilizada El flotar La palabra clave se utiliza para definir un número flotante. El doble La palabra clave se utiliza para definir un número de doble precisión.
Clase contenedora Su clase contenedora es java.lang.Float. Su clase contenedora es java.lang.Double.
Tipo de datos predeterminado Java no lo utiliza como número de punto flotante predeterminado. Es el por defecto tipo de datos para números de punto flotante.
Pérdida de datos Habrá sin pérdida de datos si convertimos float a double. Habrá pérdida de datos si convertimos double a float.
Usos Se debe utilizar donde menos precisión es necesario y el almacenamiento es una limitación. Se utiliza donde más precisión es necesario y también requiere más precisión.
Sufijo Usa F o F como sufijo. Es obligatorio agregar un sufijo si declara una variable flotante. Usa d o D como sufijo. Es opcional agregar un sufijo si declara una variable doble.
Representación 28.96f o 28.96F 12.5 o 12.5D o 12,5d

Similitudes entre el tipo de datos flotante y doble

  • Los números reales se pueden representar mediante ambos tipos de datos.
  • Tanto el tipo de datos flotante como el doble no son precisos, por lo tanto, son valores aproximados.

¿Qué tipo de datos de punto flotante en Java deberíamos utilizar?

double es más preciso que float. Entonces, si se requiere un resultado más preciso y exacto utilice el doble. Otra razón para usar el doble es que si el número no se ajusta al rango ofrecido por el flotador, entonces use el doble. Deberíamos usar float si tenemos restricciones de memoria porque ocupa la mitad del espacio que el doble.

Le recomendamos utilizar double over float si no hay restricciones de memoria ni de espacio y cuando se necesita más precisión. Es recomendable utilizar el flotador, si la memoria es un problema y no se requiere el resultado en 16 dígitos decimales de precisión.

Los dos siguientes programas java muestra claramente las diferencias entre el tipo de datos flotante y doble.

FloatDataTypeExample.java

 public class FloatDataTypeExample { public static void main(String args[]) { float x = 1.0f, y = 3.0f; //defining x and y as float float z = x / y; //divides x by y and stores the result in the variable z System.out.println('x/y = ' + z); //prints the result } } 

Producción:

 x/y = 0.33333334 

DoubleDataTypeExample.java

 public class DoubleDataTypeExample { public static void main(String args[]) { double x = 1.0, y = 3.0; //defining x and y as double double z = x / y; //divides x by y and stores the result in the variable z System.out.println('x/y = ' + z); //prints the result } } 

Producción:

 x/y = 0.3333333333333333 

A través de los dos ejemplos anteriores, queda claro que el tipo de datos doble requiere más memoria para almacenar un número de doble precisión y también proporciona un resultado más preciso de hasta 16 dígitos decimales. Mientras que el tipo de datos flotante ocupa menos espacio para almacenar números de precisión simple y proporciona resultados con hasta 6 decimales.