W3docs

exp()

Aprenda a usar a função exp() no PHP para calcular o valor exponencial de um número com exemplos práticos e dicas de uso.

A função exp() no PHP retorna e elevado à potência de um número fornecido — ou seja, e^x. Aqui, e (número de Euler, aproximadamente 2.71828) é a base do logaritmo natural e aparece em diversas áreas da ciência e das finanças: juros compostos, crescimento populacional, decaimento radioativo e probabilidade. Esta página aborda a sintaxe, o valor de retorno, vários exemplos práticos, a relação com sua função inversa log() e os erros comuns a evitar.

Sintaxe

exp(float $num): float
  • $num — o expoente. Qualquer número (positivo, negativo, zero ou float).
  • Valor de retorno — um float: o valor de e elevado a $num.

Como e é irracional, o resultado é quase sempre um decimal não terminante. O PHP o imprime usando a precisão definida pela diretiva precision do php.ini (14 dígitos significativos por padrão).

Exemplo básico

php— editable, runs on the server

Passamos 2 para exp(), então ele calcula . O resultado, 7.3890560989307, é 2.71828... multiplicado por si mesmo.

Valores de referência principais

Alguns valores de entrada merecem ser memorizados, pois mostram o que a função está fazendo:

<?php
echo exp(0), "\n";  // 1            (anything^0 is 1)
echo exp(1), "\n";  // 2.718281828459   (this IS e, same as the M_E constant)
echo exp(-1), "\n"; // 0.36787944117144 (e^-1 = 1/e)
echo exp(0.5), "\n";// 1.6487212707001  (the square root of e)
?>
  • exp(0) é 1, pois qualquer base elevada à potência 0 é igual a 1.
  • exp(1) equivale à constante interna do PHP M_E. Você pode usar M_E diretamente quando precisar apenas do valor de e sem recalculá-lo.
  • Um expoente negativo retorna um valor entre 0 e 1 (e^-x = 1/e^x), que é como o decaimento exponencial é modelado.

exp() é o inverso de log()

O logaritmo natural, a função log() do PHP, desfaz exp() e vice-versa. Compondo as duas, obtém-se o número original:

<?php
$x = 5;

echo log(exp($x)), "\n"; // 5
echo exp(log($x)), "\n"; // 5
?>

Essa relação é a razão pela qual exp() aparece sempre que você tem um modelo expresso com logaritmos naturais e precisa converter de volta para uma escala normal.

Exemplo prático: juros compostos contínuos

Um uso clássico e real de exp() é a fórmula de juros compostos contínuos, A = P · e^(r·t):

<?php
$principal = 1000;  // starting amount
$rate      = 0.05;  // 5% annual rate
$years     = 10;

$amount = $principal * exp($rate * $years);

echo round($amount, 2); // 1648.72
?>

Após 10 anos, $1000 capitalizados continuamente a 5% crescem para aproximadamente $1648.72.

exp() vs. pow()

É fácil confundir exp() com pow():

  • exp($x) usa sempre e como base — equivale a pow(M_E, $x).
  • pow($base, $exp) permite escolher qualquer base, por exemplo pow(2, 10) para 2¹⁰.

Portanto, exp(3) e pow(M_E, 3) produzem o mesmo resultado, mas use pow() sempre que a base for diferente de e.

Erros comuns

  • Não passe uma string com unidades. exp("2 apples") é convertido para exp(2) (com um aviso no PHP moderno). Sempre passe um valor numérico limpo.
  • Entradas muito grandes geram INF. exp(710) ultrapassa o intervalo de um float do PHP e retorna INF. Proteja-se contra expoentes muito grandes se a entrada for fornecida pelo usuário.
  • A precisão de exibição não significa perda de precisão. O float completo é armazenado internamente; apenas a string exibida é truncada. Use printf() ou number_format() para controlar quantos dígitos são mostrados.

Conclusão

exp() retorna e^x e é o bloco fundamental para qualquer matemática exponencial natural em PHP — crescimento, decaimento e capitalização contínua. Lembre-se de que é o inverso de log(), que exp(1) equivale à constante M_E, e que você deve usar pow() quando precisar de uma base diferente de e. Para operações do tipo raiz quadrada inversa, veja também sqrt().

Prática

Prática
O que a função exp() do PHP faz?
O que a função exp() do PHP faz?
Was this page helpful?