Boa Noite Galera.
Sou entusiasta em Java e agora estou tendo o primeiro contato na faculdade. Estou resolvendo alguns problemas (aqueles matemáticos que muitos de vocês já resolveram um dia), estou com problemas e antes de perguntar para alguém resolvi dar uma pesquisada e também em algum fórum.
Como minha dúvida é mais específica ficou difícil encontrar respostas utilizando a busca, achei algo sobre BigDecimal, conversão de strings ou coisas do tipo que não resolveram meu problema.
Bom, é o seguinte, tenho que fazer um programa que calcule a seguinte fórmula:
Somatório = 2^1/50 + 2^2/49 + 2^3/48 + 2^4/47 … somando até 2^50/1
Sem problemas quanto ao algoritmo, estou fazendo um while que incrementa o denominador, e um for dentro deste while que calcula o numerador de acordo com a variável de controle (i). O problema é que quando vou exibir o resultado da soma obtenho a palavra “Infinity”. Pois bem, criei um println para a cada passada do laço me mostrar o valor parcial da soma, a fim de “debugar” o código e noite que o resultado é exibido corretamente até a passada 45 do laço (o que é um número monstruoso). Desde então venho querendo resolver esse problema, já tentei trocar o tipo de dados para long, double, float… já tentei usar BigDecimal (esse nao sei se usei certo pois não conhecia o que estava fazendo, somente colei de um outro site). Não sei mais o que fazer.
Bom, se alguém aí puder ajudar eu fico grato.
Muito Obrigado.