W3docs

exp()

Aprende a usar la función exp() en PHP para calcular el valor exponencial de un número con ejemplos prácticos y casos de uso comunes.

La función exp() en PHP devuelve e elevado a la potencia de un número dado — es decir, e^x. Aquí e (el número de Euler, aproximadamente 2.71828) es la base del logaritmo natural y aparece en ciencia y finanzas: en el interés compuesto, el crecimiento de la población, la desintegración radiactiva y la probabilidad. Esta página cubre la sintaxis, el valor de retorno, varios ejemplos detallados, la relación con su función inversa log(), y los errores comunes que se deben evitar.

Sintaxis

exp(float $num): float
  • $num — el exponente. Cualquier número (positivo, negativo, cero o un float).
  • Valor de retorno — un float: el valor de e elevado a $num.

Como e es irracional, el resultado casi siempre es un decimal no terminado. PHP lo imprime usando la precisión configurada por la directiva precision de php.ini (14 dígitos significativos por defecto).

Ejemplo básico

php— editable, runs on the server

Pasamos 2 a exp(), por lo que calcula . El resultado, 7.3890560989307, es 2.71828... multiplicado por sí mismo.

Valores de referencia clave

Algunos valores de entrada vale la pena memorizar porque muestran lo que hace la función:

<?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) es 1, ya que cualquier base elevada a la potencia 0 es igual a 1.
  • exp(1) es igual a la constante integrada de PHP M_E. Puedes usar M_E directamente cuando solo necesitas el valor de e sin necesidad de recalcularlo.
  • Un exponente negativo da un valor entre 0 y 1 (e^-x = 1/e^x), que es como se modela la decadencia exponencial.

exp() es la inversa de log()

El logaritmo natural, la función log() de PHP, deshace exp() y viceversa. Al componerlas se obtiene el número original:

<?php
$x = 5;

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

Esta relación es la razón por la que exp() aparece siempre que tienes un modelo expresado con logaritmos naturales y necesitas volver a una escala normal.

Ejemplo práctico: interés compuesto continuo

Un uso clásico de exp() en el mundo real es la fórmula de interés compuesto continuo, 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
?>

Después de 10 años, $1000 compuesto continuamente al 5% crece hasta aproximadamente $1648.72.

exp() vs. pow()

Es fácil confundir exp() con pow():

  • exp($x) siempre usa e como base — equivale a pow(M_E, $x).
  • pow($base, $exp) permite elegir cualquier base, p. ej. pow(2, 10) para 2¹⁰.

Por tanto, exp(3) y pow(M_E, 3) producen el mismo resultado, pero usa pow() cuando la base es distinta de e.

Errores comunes

  • No pases un string con unidades. exp("2 apples") se convierte en exp(2) (con una advertencia en versiones modernas de PHP). Pasa siempre un valor numérico limpio.
  • Las entradas muy grandes desbordan a INF. exp(710) supera el rango de un float de PHP y devuelve INF. Protege contra exponentes muy grandes si la entrada proviene del usuario.
  • La precisión de visualización no implica pérdida de precisión. El float completo se almacena internamente; solo la cadena mostrada está truncada. Usa printf() o number_format() para controlar cuántos dígitos se muestran.

Conclusión

exp() devuelve e^x y es el bloque fundamental para cualquier cálculo exponencial natural en PHP — crecimiento, decadencia e interés compuesto continuo. Recuerda que es la inversa de log(), que exp(1) es igual a la constante M_E, y que debes usar pow() cuando necesites una base distinta de e. Para operaciones del estilo de la raíz cuadrada inversa, consulta también sqrt().

Práctica

Práctica
¿Qué hace la función exp() de PHP?
¿Qué hace la función exp() de PHP?
Was this page helpful?