有没有一种方法可以在R中精确地存储大量数字?

4

有没有一种方法可以在R中精确地存储大量数字?

double以二进制小数形式存储,其精度随着值的变化而变化,integer的范围仅限于4个字节。

如果我想要精确地存储非常大的数字怎么办?

2个回答

5
你可以尝试使用gmp包中的bigz类:
> library("gmp")
> 2^10000
[1] Inf
> 2^(as.bigz(10000))
[1] "199506.... and a LOT of more numbers!

它基本上将数字存储为字符串,从而避免了整数/双精度限制。


3

这取决于你所谓的“大量”是什么意思:

  • 如果你想要超出双精度算术顶端的数字,可以使用Brobdingnag软件包。

  • 如果你需要更高的精度,可以使用gmp和相关的Rmpfr软件包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接