R中的大数精度

时间:2018-09-06 17:43:20

标签: r

R可以准确表示多少个数字?根据答案hereheredocumentation,我希望R的效果比下面的迷你示例(精度在16位数字后下降)要好得多:

log(.Machine$double.xmax, 10)
# 308.2547

for (i in 1:30) {
   a <- rep(1, i)  # make a vector of 1s
   b <- paste(a, collapse = '')  # turn into string
   d <- as.double(b)  # turn into double
   e <- format(d, scientific = FALSE)  # turn into string
   print(e)
}

# "1"
# "11"
# "111"
# "1111"
# "11111"
# "111111"
# "1111111"
# "11111111"
# "111111111"
# "1111111111"
# "11111111111"
# "111111111111"
# "1111111111111"
# "11111111111111"
# "111111111111111"
# "1111111111111111"
# "11111111111111112"
# "111111111111111104"
# "1111111111111111168"
# "11111111111111110656"
# "111111111111111114752"
# "1111111111111111081984"
# "11111111111111111344128"
# "111111111111111109246976"
# "1111111111111111092469760"
# "11111111111111110924697600"
# "111111111111111104952008704"
# "1111111111111111049520087040"
# "11111111111111111869590405120"
# "111111111111111105501764517888"

请注意,我对整数感兴趣,但为最大精度使用显式的double。

0 个答案:

没有答案