raghy:
quanto dá 1.1 na potencia 60.
e quanto o computador mostrou?
não sei porque com o math.pow, daria errado?
descobriu?
Os números de tipo float e double são armazenados como Mantissa + Expoente.
Por exemplo, o número 1 Milhão, duzentos e trinta e quatro mil poderia ser armazenado como algo assim:
1,234 x 10^6 : 1234-06 só utilizando 6 dígitos.
Com isso consigo representar números muito grandes ou muito pequenos em um espaço de memória pequeno. Por exemplo, só com 6 dígitos consigo representar o número 1 quaquilhão: 1000-99. 1,000 x 10^99.
Porém isto gera dois problemas:
-
Há um limite máximo para o expoente a utilizar: Não consigo representar 10^100 na minha notação de exemplo, porque com dois dígitos só consigo chegar a 99.
-
Não consigo representar um número com mais de quatro dígitos de precisão. O número 1 milhao, quinhentos e quarenta e oito mil, duzentos e trinta e oito, por exemplo, não poderia ser representado com meu exemplo.
Por isso, o java tem o BigDecimal: ele consegue armazenar números muito grandes, porque ele faz como nós: se falta dígitos na precisão, ele põe mais.