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 deeelevado 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
Pasamos 2 a exp(), por lo que calcula e². 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)es1, ya que cualquier base elevada a la potencia0es igual a1.exp(1)es igual a la constante integrada de PHPM_E. Puedes usarM_Edirectamente cuando solo necesitas el valor de e sin necesidad de recalcularlo.- Un exponente negativo da un valor entre
0y1(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 usaecomo base — equivale apow(M_E, $x).pow($base, $exp)permite elegir cualquier base, p. ej.pow(2, 10)para2¹⁰.
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 enexp(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 devuelveINF. 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
floatcompleto se almacena internamente; solo la cadena mostrada está truncada. Usaprintf()onumber_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().