我有以下代码将变量除以100并为其供电。
var a = 1;
var b = (a / 100) ^ 2;
'b'中的值变为2,应该是0.01 ^ 2 = 0.0001。
为什么?
答案 0 :(得分:6)
^
不是指数运算符。它是按位XOR运算符。要对数字应用权限,请使用Math.pow()
:
var b = Math.pow(a / 100, 2);
关于为什么在使用2
时得到^
的结果,按位运算符会比较两个数字的各个位以产生结果。这首先涉及通过删除小数部分将两个操作数转换为整数。将0.01
转换为整数会产生0
,因此您得到:
00000000 XOR 00000010 (0 ^ 2)
00000010 (2)
答案 1 :(得分:1)
答案 2 :(得分:0)
javascript中的power是使用Math.pow(x,y)函数创建的,而不是在它们之间输入。