我已经尝试过,1e-324
在R中基本上为零。所以,当我想做这样的计算时我该怎么办:
1e-2000/1e-2000
#[1] NaN
#But the real value should be 1
所以,任何帮助都表示赞赏。
答案 0 :(得分:6)
您需要任意精度算术。看看gmp
:
library(gmp)
divide_by_zero <- function(n) {10^n / 10^n}
divide_by_nonzero <- function(n) {pow.bigz(10, n) / pow.bigz(10, n)}
divide_by_zero(-320:-330)
# [1] 1 1 1 1 NaN NaN NaN NaN NaN NaN NaN
divide_by_nonzero(-320:-330)
#Big Rational ('bigq') object of length 11:
# [1] 1 1 1 1 1 1 1 1 1 1 1