Калькулятор это считает всегда одинаково, не зависимо от скобок.
Не сделаете ли вы мне хорошую скидку на дальнейшие курсы за все найденные (уже и в дальнейшем) мною баги?
Калькулятор это считает всегда одинаково, не зависимо от скобок.
Не сделаете ли вы мне хорошую скидку на дальнейшие курсы за все найденные (уже и в дальнейшем) мною баги?
В 7/9 та-же проблема с возведением.
Использовал Math.pow
var length = 0.55; var weight = 5; var fatMass = 0.8; var bodyMassIndex = Math.round(weight / Math.pow(length, 2)); var fatPercent = Math.round(fatMass / weight * 100);
Не сделаете ли вы мне хорошую скидку на дальнейшие курсы за все найденные (уже и в дальнейшем) мною баги?
Нет, не сделают. Дело в том, что это “не баг, а фича!”.
1. У операторов в JS есть приоритет (таблица приоритетов) и исходя из этого приоритета работает код.
например, в строке
var i = weight / (length * length)
()
(приоритет оператора 20)=
(приоритет 3)2. Второй момент побитовый оператор ^ XOR (Побитовое исключающее ИЛИ )
если коротко, то работает он так, в двоичной системе счисления сравнивает биты у каждого значения, возвращая 1 при 0 и 1 или 1 и 0, либо 0 при 1 и 1
в строке
var i = weigth / length ^ 2
3. Ну и в третьем примере
var i = weight / (length ^ 2)