Gibt es eine schnellere Alternative zu folgendem Ausdruck:
%Vor%Das heißt, die nächste (kleinere) ganzzahlige Potenz von 2 eines Double zu nehmen? Ich habe einen solchen Ausdruck in einer inneren Schleife. Ich vermute, es könnte viel schneller sein, wenn man bedenkt, dass man einfach die Mantisse von der IEEE-754-Darstellung des Doppelten nehmen könnte.
Leider würden Sie ein Äquivalent der C-Funktion frexp
benötigen. Das Beste, was ich finden konnte, ist in JSFiddle , und der Code verwendet Math.pow
.
Es gibt ein paar Alternativen, die Sie mit realen Daten vergleichen könnten, zusammen mit Ihrem aktuellen Versuch:
Der erste ist wahrscheinlich am schnellsten, wenn Ihre Daten in der Nähe von 1,0 liegen. Der zweite benötigt bis zu 11 bedingte Zweige.
Tags und Links javascript ieee-754 double bit-manipulation