来自Rmpfr包的mpfr功能

时间:2017-06-20 18:29:34

标签: r mpfr

我试图在十进制后打印更多数字。所以用过" mpfr"功能。但是,为什么我得到这个结果?

> mpfr(1/5, 120)
1 'mpfr' number of precision  120   bits 
[1] 0.20000000000000001110223024625156540424

为什么结果打印" 1110223024625156540424"在0之后?

1 个答案:

答案 0 :(得分:1)

因为你给了它一个不是你想象的数字。该部门首先作为双精度操作完成。

1/Rmpfr::mpfr(5, 80)
1 'mpfr' number of precision  80   bits 
[1] 2.0000000000000000000000004e-1

> 1/Rmpfr::mpfr(5, 120)
1 'mpfr' number of precision  120   bits 
[1] 2.0000000000000000000000000000000000004e-1

我的替代方法制作了更高精度的5版本,然后由/的mpfr版本(除法函数)处理。

看看你得到了什么:

methods(`/`)