R的Format函数返回奇数结果

Al *_* R. 2 format precision integer r

为什么

format(4444444444444444444,scientific=FALSE)
Run Code Online (Sandbox Code Playgroud)

返回"4444444444444444672"?

我认为它可能是一个整数精度的东西,但这个数字相对较小.谢谢!

我在Ubuntu Linux上运行R版3.0.0.

42-*_*42- 5

如果给R一个大于的整数:

> .Machine$integer.max
[1] 2147483647
Run Code Online (Sandbox Code Playgroud)

它将它转换为双倍.的R-FAQ具有7.31.与浮点精度相关的问题通常出现在SO:控制R中打印输出中的小数位数

(向量索引的大小随着R(3.0.0)的最后一个版本而增加,并且似乎未来可能会扩大整数的最大大小.我不太明白我们如何能够保持限制整数的大小以及更大的访问向量索引.)