我需要做一些高精度的计算,所以我在网上找到了Rmpf包。然而,它抛出了一些非常明显的错误。当我在控制台中输入以下内容时
10^(15)*(mpfr((5 + 10^(-15)), 200)- mpfr(5, 200))它给了我们
1 'mpfr' number of precision 200 bits
[1] 0.88817841970012523233890533447265625
> 然而,它应该给出1。我是不是在使用这个包时犯了一个错误?
发布于 2018-08-13 15:42:47
不要使用mpfr((5 + 10^(-15)), 200)。使用mpfr(5,200) + mpfr(10^(-15), 200),因为5+10^(-15)是用R的双精度算术计算的。
然后
10^15*(mpfr(5,200)+mpfr(10^(-15),200) - mpfr(5, 200))将会给予
1 'mpfr' number of precision 200 bits
[1] 1.000000000000000077705399876661079238307185601195015145492562https://stackoverflow.com/questions/51816309
复制相似问题