die wissenschaftliche Notation Mit 10^6
in einem R-Code Rechenzeit (wie ich üblicherweise tun) führt zu einer deutlich länger als den Rechner Darstellung mit 1e6
:Warum die Verwendung der Potenzierung (z. B. 10^6) 4-mal länger dauert als die Verwendung der Kalkulatornotation (z. B. 1e6) in R?
> 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
Warum ist es der Fall, dass R 10^6
in etwa die neu berechnet Wie oft berechnet es exp{6*log(10)}
? Ich verstehe die Tatsache, dass R eine Funktion ausführt, wenn 10^6
berechnet wird, aber warum wurde es auf diese Weise codiert?
Ich würde vermuten, dass man ein numerisches Literal, das nur übersetzt werden muss, während das andere ein Ausdruck ist, der zuerst bewertet werden muss. –
Warum denken Sie, dass R '10^6' über 'exp (6 * log (10))' 'berechnet? – cryo111
@ cryo111: Ich weiß nicht, wie R '10^6' berechnet, aber es dauert so lange wie' exp (6 * log (10)) '. Ich werde diesen Satz umformulieren, danke. –