Qual a diferença entre float e double?

Qual seria a definição entre os dois?

//Float
O tipo de dados float é usado quando precisamos armazenar números de ponto-flutuante (com parte fracionária) na faixa 1.401298464324817e-45f até 3.402823476638528860e+38f.possui precisão de 6 ou 7 dígitos significativos.

[code]public class Estudos{
public static void main(String args[]){
float valor = 54.5f;

System.out.println("O valor da variável é: " +
  valor);

System.exit(0);

}
}[/code]
Antes de prosseguir, veja que inserí a letra “f” (ou “F”) após o valor literal atribuído à variável. Se retirássemos esta letra, o compilador emitiria a seguinte mensagem de erro:

found : double required: float float valor = 54.5; ^ 1 error

//Double

O tipo de dados double é usado quando precisamos armazenar números de ponto-flutuante (com parte fracionária) na faixa 4.94065645841246544e-324 até 1.79769313486231570e+308, possui precisão de 14 ou 15 dígitos significativos.

//exemplo

[code]public class Estudos{
public static void main(String args[]){
double valor = 54.5;

System.out.println("O valor da variável é: " +
  valor);

System.exit(0);

}
}[/code]

3 curtidas

As diferenças do float para o double são:

  1. O double tem mais precisão: pode representar mais casas decimais ou números inteiros maiores;
  2. O double ocupa 32 bits a mais que o float (o dobro do espaço);
  3. Dependendo do hardware, o cálculo de um ou outro será mais rápido. Placas de vídeo geralmente operam com floats, as mais novas, com doubles.

Por incrível que pareça, o último aspecto é bastante relevante. Aplicações gráficas, por exemplo, são formadas por milhares de pontos, e essa diferença pode representar alguns MB em memória.

8 curtidas