r语言 - Rmpf 软件包错误



我需要做一些高精度的计算,所以我在网上查找并找到了Rmpf包。但是,它抛出了一些非常明显的错误。当我在控制台中输入以下内容时

10^(15)*(mpfr((5 + 10^(-15)), 200)- mpfr(5, 200))

它给

1 'mpfr' number of precision  200   bits 
[1] 0.88817841970012523233890533447265625
> 

然而,它应该给出 1。 我在使用软件包时犯了错误吗?

不要使用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.000000000000000077705399876661079238307185601195015145492562

相关内容

最新更新