Сколько цифр R может точно представлять?Основываясь на ответах здесь и здесь и документации , я ожидаю, что 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"
Обратите внимание, я интересуюсь целыми числами, но для максимальной точности использую явно двойные числа.