[b]gostaria de saber, com faço para calcular o exponencial sem o uso do API java?
sem o Math, acho que não existe.
Realizando multiplicações consecutivas?
Substitui a expressão por uma série de Taylor e calcula o numero de termos necessários.
O que você chama de “exponencial”?
- Efetuar uma exponenciação (x elevado a y)
- Efetuar uma exponenciação, mas a potência é inteira (exemplo: x elevado a 13)
- Elevar o número “e” (2,71828182845904523536028747135…) a uma determinada potência (e elevado a x)
No terceiro caso, como o peczenyj disse, basta achar uma aproximação usando uma série - como a série de Taylor mencionada. (Ela converge relativamente rápido, mas acho que há séries que convergem mais rápido ainda).
No primeiro caso, você precisa de saber a fórmula para o caso 3, e também achar a fórmula para calcular logaritmos usando aproximações, já que x elevado a y = exp (y * ln (x)).
No segundo caso, basta saber efetuar multiplicações sucessivas. Você pode fazer isso pelo método braçal (exemplo: para calcular 1.00001 elevado a 1000 você multiplicaria o número por ele mesmo 1000 vezes) ou usando um método um pouco mais esperto, que economiza multiplicações (sabendo que 1000 = 1111101000 em binário, dá para ter uma pista do que deve ser feito).
Basta procurar um algoritmo em algum livro de calculo numérico. O mais famoso é o Numerical Recipes que tem codigos em Fortran e C (respectivamente).
Ou veja o codigo do projeto jakarta, por exemplo:
Gostaria de saber como utilizar o Math.pow.
Alguem poderia me dar um exemplo pratico?
POW?
[code]int a = 2;
int b = 3;
double c = Math.pow(a, b);
System.out.println("Resultado: " + c);[/code]
é mais simples do que eu imaginava.
grato companheiro!
[quote=Alexandre Henrique]é mais simples do que eu imaginava.
grato companheiro![/quote]
Todos os métodos da classe Math são simples. Simples de usar, claro, nem imagino como eles fazem internamente… hehehe
Qualquer dúvida, estamos aqui para ajudar
[quote=thegoergen][quote=Alexandre Henrique]é mais simples do que eu imaginava.
grato companheiro![/quote]
Todos os métodos da classe Math são simples. Simples de usar, claro, nem imagino como eles fazem internamente… hehehe
Qualquer dúvida, estamos aqui para ajudar[/quote]
Math.pow só aceita variáveis do tipo double ou pode usar do tipo int ou float? pergunto porque tentei com int, float e deu erro… :shock:
[code]package Exercício;
public class Prot1 {
int a = 5, b = 5;
double pot;
public Prot1(){
}
public double bPot(){
return pot = Math.pow(a,b);
}
public static void main(String args[]){
Prot1 x = new Prot1();
x.bPot();
System.out.println("5 e 5 é = " + x.pot);
}
}[/code]
Resolvido… como a classe Math só retorna double… só fazer um casting que fica tudo certo… :shock:
[code]package Exercício;
public class Prot1 {
int a = 5, b = 5;
int pot;
public Prot1(){
}
public int bPot(){
return pot = (int)Math.pow(a,b);
}
public static void main(String args[]){
Prot1 x = new Prot1();
System.out.println("5 e 5 é = " + x.bPot());
}
}[/code]