Javascript,^(插入符号)运算符有什么作用?

时间:2010-09-01 13:10:38

标签: javascript math operators

我有一些javascript代码:

<script type="text/javascript">
$(document).ready(function(){
  $('#calcular').click(function() {
    var altura2 = ((($('#ddl_altura').attr("value"))/100)^2);
    var peso = $('#ddl_peso').attr("value");
    var resultado = Math.round(parseFloat(peso / altura2)*100)/100;
    if (resultado > 0) {
      $('#resultado').html(resultado);
      $('#imc').show();
    };
  });
});
</script>

^(插入符号)运算符在Javascript中的含义是什么?

5 个答案:

答案 0 :(得分:70)

^ operator是按位XOR运算符。要平方值,请使用Math.pow

var altura2 = Math.pow($('#ddl_altura').attr("value")/100, 2);

答案 1 :(得分:34)

^正在执行异或(XOR),例如

6为二进制1103为二进制011

6 ^ 3,意思是110 XOR 011给出了101(5)。

  110   since 0 ^ 0 => 0
  011         0 ^ 1 => 1
  ---         1 ^ 0 => 1
  101         1 ^ 1 => 0

Math.pow(x,2)计算但是对于square,你最好使用x*x,因为Math.pow使用对数,你会得到更多的近似误差。 (x² ~ exp(2.log(x))

答案 2 :(得分:4)

这是按位XOR运算符。

答案 3 :(得分:1)

  

指示按位XOR运算符   由插入符号(^),当然,作品   直接在二进制形式上   数字。按位异或不同于   按位OR,只返回1   当一位的值为1时。

来源:http://www.java-samples.com/showtutorial.php?tutorialid=820

答案 4 :(得分:1)

它称为按位异或。让我解释一下:

你有:

Decimal Binary   
0         0
1         01
2         10
3         11

现在我们想要3^2=? 然后我们有11^10=?

11
10
---
01
---

所以11^10=01 十进制中的011

所以我们可以说3^2=1;