R: aproximar `e = exp (1)` usando `(1 + 1 / n) ^ n` da un resultado absurdo cuando` n` es grande

Entonces, solo estaba jugando con el cálculo manual del valor dee en R y noté algo que me molestó un poco.

El valor dee usando R'sexp() comando ...

exp(1)
#[1] 2.718282

Ahora, intentaré calcularlo manualmente usandox = 10000

x <- 10000
y <- (1 + (1 / x)) ^ x
y
#[1] 2.718146

No del todo, pero trataremos de acercarnos usandox = 100000

x <- 100000
y <- (1 + (1 / x)) ^ x
y
#[1] 2.718268

Cálido pero aún un poco apagado ...

x <- 1000000
y <- (1 + (1 / x)) ^ x
y
#[1] 2.71828

Ahora, probémoslo con uno enorme

x <- 5000000000000000
y <- (1 + (1 / x)) ^ x
y
#[1] 3.035035

Bueno, eso no está bien. ¿Que está pasando aqui? ¿Estoy desbordando el tipo de datos y necesito usar un paquete determinado? Si es así, ¿no hay advertencias cuando desborda un tipo de datos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta