Math.log2 точность изменилась в Chrome

Я написал программу на JavaScript, которая рассчитывает глубину двоичного дерева на основе количества элементов. Моя программа работала в течение нескольких месяцев, но недавно я обнаружил разницу, когда веб-страницу просматривают в Chrome и Firefox.

В частности, на Firefox:

Math.log2(8) = 3

но теперь в Chrome:

Math.log2(8) = 2.9999999999999996

Моя программа на JavaScript изначально была написана для определения глубины двоичного дерева на основе количества элементов:

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

Я сделал простую модификацию этой формулы, чтобы она по-прежнему работала корректно в Chrome:

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

У меня есть 2 вопроса:

Кто-нибудь еще заметил изменение в точности в Chrome в последнее время дляMath.log2?

Есть ли более элегантная модификация, чем та, которую я сделал выше, добавив эпсилон?

Ответы на вопрос(2)

Ваш ответ на вопрос