2015-03-15 2 views

ответ

6

^ не является оператором экспоненты. Это побитовый оператор XOR. Для того, чтобы применить силу к номеру, используйте Math.pow():

var b = Math.pow(a/100, 2); 

почему вы получите 2 как результат при использовании ^, битовые операторы сравнения отдельных бит двух чисел для получения результата. Это сначала включает преобразование обоих операндов в целые числа путем удаления дробной части. Преобразование 0.01 в целое производит 0, так что вы получите:

00000000 XOR 00000010 (0^2) 
00000010    (2) 
1

Попробуйте это:

2^10 

Это дает 8. Это легко объяснить: у JS нет оператора мощности, но XOR: MDN.

Вы ищете Math.pow (MDN)

Смежные вопросы