我正在编写一些涉及Javascript中的指数的计算,由于我习惯在Microsoft Excel中使用插入符号,我在代码中键入了x^2
。它仍然给了我一个答案,但它不是我想要的。 ^
在javascript中做了什么?
alert(Math.pow(3,2)); //result is 9
alert(3^2); //result is 1
答案 0 :(得分:3)
这是一个按位异或。使用Math.pow
表示指数。
如果你做3 ^ 2,你实际上是在做:
3 XOR 2
计算机使用Binary,所以他们看到了
11 XOR 10
把它放到桌子上:
11 1 ^ 0 = 1
10 1 ^ 1 = 0
--
01
简单来说:
XOR将以二进制形式取两个数字,并且对于该位为真,它们必须是不同的
^
Math.pow()
需要一个基数和一个指数:
Math.pow(3, 2)
- > 3 2 - > 9
Math.pow(5, 6)
- > 5 6 - > 15625
Math.pow(7, 3)
- > 7 3 - > 343
答案 1 :(得分:2)
在x^2
中,^
是按位XOR运算符,而不是您期望的指数运算符,用于此用途:Math.pow(x, 2)
。