Dúvida com potência

3 respostas
Baroni

Bom dia!

Em determinado ponto o meu programa deve fazer T1 = x^2/3 (T1 é igual a x elevado a dois terços).

Para isso estou fazendo:

double T1 = Math.pow(X, 2/3); return Double.toString(T1);

Fazendo assim o retorno não está dando certo. Fiz um teste tanto no OpenOffice Calc quanto na minha santa HP50 e o resultado de ambos deu diferente do que o meu programa calcula…

Por exemplo

Se X valer 25, a conta se transforma em T1 = 25^2/3 (25 elevado a dois terços)

[HP50 / OpenOffice Calc] => T1 = 8,549879;
[Meu programa] => 1;

Já tentei colocar o 2/3 entre parênteses e não deu certo… A única coisa que deu um resultado próximo foi colocar 0,[telefone removido] no lugar do 2/3… Mas assim eu perco minha precisão e é um tanto quanto “feio” fazer isso no meio do código…

Estou quase ficando louco… Alguém tem alguma idéia?

3 Respostas

foxpv

ja tentou tirar a raiz cúbica e depois elevar a 2?
algo assim:

Math.pow(Math.cbrt(numero),2);
Baroni

foxpv:
ja tentou tirar a raiz cúbica e depois elevar a 2?
algo assim:

Math.pow(Math.cbrt(numero),2);

Bateu em cima cara… Valeu!!!

Mas assim, e se eu tiver outros tipos de potências, como x^9/8?

Devo fazer 9/8 em uma variável a parte e elevar o x à essa variável, por exemplo:

//Exemplo onde T1 = a um número x elevado a 9/8 double T1, E; E= 9/8; T1 = Math.pow(X, E); return Double.toString(T1);

Assim eu não perco muita precisão e talz… Ou tem alguma outra forma?

Lavieri

Seguinte…

tenta fazer isso

System.out.println(2 / 3);

viu ? … qualquer numero elevado a zero é igual a 1…

qualquer inteiro dividido po routro inteiro tb é um inteiro… por isso, conciderando inteiros, 2 para dividir para 3 da 0 para cada, e e sobra 2

tenta isso

double T1 = Math.pow(X, 2D/3); return Double.toString(T1);

o “D” ao lado do 2 indica que aquilo é um double… então o resultado vem em double… caso seus valores da potencia venham atravez de variáveis, vc pode convertelos em double através de cast (double) …

Criado 28 de março de 2009
Ultima resposta 28 de mar. de 2009
Respostas 3
Participantes 3