从" http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-the " 7.31
我们已经知道大量(超过2 ^ 53)可能会在模块化操作中出错.
但是,我无法理解为什么所有大数都被认为是偶数(我从未见过超过2 ^ 53的大整数的"奇数"),即使我在近似中采取了一些误差
(2^53+1)%%2
(2^100-1)%%2
Run Code Online (Sandbox Code Playgroud)
可以忽略错误消息(可能完全丧失模数精度)
等等..
都不是1而是0
为什么这样?(我知道有一些近似值,但我需要具体了解原因)
> print(2^54,22)
[1] 18014398509481984.00000
> print(2^54+1,22)
[1] 18014398509481984.00000
> print(2^54+2,22)
[1] 18014398509481984.00000
> print(2^54+3,22)
[1] 18014398509481988.0000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |