R: aproximando `e = exp (1)` usando `(1 + 1 / n) ^ n` resulta absurdo quando` n` é grande

Então, eu estava apenas brincando com o cálculo manual do valor dee no R e notei algo que foi um pouco perturbador para mim.

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

exp(1)
#[1] 2.718282

Agora, tentarei calcular manualmente usandox = 10000

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

Não é bem assim, mas vamos tentar nos aproximar usandox = 100000

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

Mais quente, mas ainda um pouco fora ...

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

Agora, vamos tentar com um enorme

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

Bem, isso não está certo. Oque esta acontecendo aqui? Estou transbordando o tipo de dados e preciso usar um determinado pacote? Em caso afirmativo, não há avisos quando você excede um tipo de dados?

questionAnswers(2)

yourAnswerToTheQuestion