У меня есть следующий код для разделения переменной на 100 и включения питания.Подразделение и мощность в Javascript
var a = 1;
var b = (a/100)^2;
Значение в 'b' равно 2, если оно должно быть 0.01^2 = 0.0001.
Почему?
У меня есть следующий код для разделения переменной на 100 и включения питания.Подразделение и мощность в Javascript
var a = 1;
var b = (a/100)^2;
Значение в 'b' равно 2, если оно должно быть 0.01^2 = 0.0001.
Почему?
^
не является оператором экспоненты. Это побитовый оператор XOR. Для того, чтобы применить силу к номеру, используйте Math.pow()
:
var b = Math.pow(a/100, 2);
почему вы получите 2
как результат при использовании ^
, битовые операторы сравнения отдельных бит двух чисел для получения результата. Это сначала включает преобразование обоих операндов в целые числа путем удаления дробной части. Преобразование 0.01
в целое производит 0
, так что вы получите:
00000000 XOR 00000010 (0^2)
00000010 (2)
Мощность в Javasript производится с Math.pow функции (х, у), а не вводить между ними.