【问题标题】:What if a number is divided by another too small number in R如果一个数字除以 R 中另一个太小的数字怎么办
【发布时间】:2014-05-31 06:44:21
【问题描述】:

我试过1e-324在R中基本上为零。所以,当我想做这样的计算时该怎么办:

1e-2000/1e-2000
#[1] NaN
#But the real value should be 1

因此,感谢您提供任何帮助。

【问题讨论】:

    标签: r nan arbitrary-precision


    【解决方案1】:

    您需要任意精度的算术。看看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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-03
      • 2013-06-14
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多