Math.log2 Präzision hat sich in Chrome @ geände

Ich habe ein JavaScript-Programm geschrieben, das die Tiefe eines Binärbaums anhand der Anzahl der Elemente berechnet. Mein Programm funktioniert seit Monaten einwandfrei, aber kürzlich habe ich einen Unterschied festgestellt, wenn die Webseite in Chrome oder Firefox angezeigt wird.

Insbesondere in Firefox:

Math.log2(8) = 3

aber jetzt in Chrome:

Math.log2(8) = 2.9999999999999996

Mein JavaScript-Programm wurde ursprünglich geschrieben, um die Tiefe des Binärbaums anhand der Anzahl der Elemente zu ermitteln:

var tree_depth = Math.floor(Math.log2(n_elements)) + 1;

Ich habe eine einfache Änderung an dieser Formel vorgenommen, damit sie in Chrome weiterhin korrekt funktioniert:

var epsilon = 1.e-5;
var tree_depth = Math.floor(Math.log2(n_elements) + epsilon) + 1;

Ich habe 2 Fragen:

Hat jemand anderes in letzter Zeit eine Änderung in der Präzision in Chrome für @ bemerMath.log2?

Gibt es eine elegantere Modifikation als die, die ich oben durch Hinzufügen von epsilon vorgenommen habe?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage