在 R 代码中使用科学记数法10^6
(就像我通常做的那样)导致计算时间比使用计算器表示要长得多1e6
:
> system.time(for (t in 1:1e7) x=10^6)
utilisateur système écoulé
4.792 0.000 4.281
> system.time(for (t in 1:1e7) x=1e6)
utilisateur système écoulé
0.804 0.000 1.051
> system.time(for (t in 1:1e7) x=exp(6*log(10)))
utilisateur système écoulé
6.301 0.000 5.702
为什么 R 重新计算10^6
的时间与它计算的时间差不多exp{6*log(10)}
?我理解 R 在计算时执行函数的事实10^6
,但为什么要这样编码?