在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
时执行了一个函数,但为什么要这样编码呢?
exp(6*log(10))
计算出10^6
? - cryo11110^6
,但它花费的时间与使用exp(6*log(10))
一样长。我会重新表达这个句子,谢谢。 - Xi'an ні війніdouble a=1e6;
还是double a=pow(10,6);
? - cryo111