Hallo,
...und wenn du schon dabei bist: ersetze bitte
Math.log(2)
durchMath.LN2
;)
Gute Idee, könnte vom mir sein ;)
Damit läuft's richtig schnell und macht meine Newton-Methode auch für JavaScript überflüssig:
var logarithmisch = function(zahl) {
with (Math) { return 1 << ceil(log(zahl)/LN2); }
}
Ergebnisse:
60000 Zahlen 1...60001
Newton: 359
Log: 329
60000 Zahlen 89940000...90000000
1. Newton: 344
Log: 344
2. Newton: 312
Log: 329
60000 Zahlen 1073681823...1073741823
1. Newton: 313
Log: 328
2. Newton: 328
Log: 328
60000 Zahlen 1...60001
1. Newton: 344
Log: 329
2. Newton: 312
Log: 329
Gruß, Don P