web-dev-qa-db-ja.com

Javascript、^(キャレット)演算子は何をしますか?

私はいくつかの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での意味ですか?

64
Torres

^ operator はビット単位のXOR演算子です。値を2乗するには、 Math.pow

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

_^_は、たとえば、排他的OR(XOR)を実行しています

_6_はバイナリの_110_、_3_はバイナリの_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)は__を計算しますが、Math.powは対数を使用し、より多くの近似エラーが発生するため、正方形では_x*x_を使用する方が適切です。 ( x² ~ exp(2.log(x))

34
Ring Ø

これはビット単位のXOR演算子です。

4
Petar Minchev

ビット単位のXOR演算子はキャレット(^)で示され、もちろん、数値のバイナリ形式で直接機能します。ビット単位XORはビット単位とは異なりますORは、1つのビットの値が1である場合にのみ1を返すという点で。

ソース: http://www.Java-samples.com/showtutorial.php?tutorialid=82

1
Sarfraz

ビット単位のXORと呼ばれます。説明しましょう:

あなたが持っている :

Decimal Binary   
0         0
1         01
2         10
3         11

3^2=?その後、11^10=?

11
10
---
01
---

そう 11^10=0101は10進数で1

したがって、3^2=1;

1
Shubham Verma