Como elevar um número a uma fração em java

2 respostas Resolvido
java
R

Oi gente, bom dia
Estou tentando fazer um código em que preciso realizar essa conta 2^(x/12).
2 elevado a uma fração onde o x é um número digitado pelo usuário que pode ser positivo ou negativo, tentei usar Math.pow(2, x/12) mas só retorna 1 independente do valor do x, alguém tem alguma ideia?

2 Respostas

P
Solucao aceita

Se x é um int, então x/12 também será um int. Se x for menor que 12, então x/12 será sempre 0 e qualquer número elevado a 0 é 1.

Declara o x como double ou divide por 12.0 em vez de 12.

int x = 10;
 double y = Math.pow(2, x/12);
 System.out.println(y);  // imprime 1


 double x = 10;
 double y = Math.pow(2, x/12);
 System.out.println(y); // imprime 1.7817974362806785



 int x = 10;
 double y = Math.pow(2, x/12.0);
 System.out.println(y);  // imprime 1.7817974362806785
R

Coloquei 12.0 e funcionou, vlwww.

Criado 18 de agosto de 2021
Ultima resposta 18 de ago. de 2021
Respostas 2
Participantes 2