Javascript, что делает оператор ^ (каретка)? - PullRequest
64 голосов
/ 01 сентября 2010

У меня есть некоторый код 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 ]

72 голосов
/ 01 сентября 2010

Оператор ^ является побитовым оператором XOR. Чтобы возвести в квадрат значение, используйте Math.pow:

var altura2 = Math.pow($('#ddl_altura').attr("value")/100, 2);
34 голосов
/ 01 сентября 2010

^ выполняет исключающее ИЛИ (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. (x² ~ exp(2.log(x)))

4 голосов
/ 01 сентября 2010

Это побитовый оператор XOR.

1 голос
/ 19 июля 2017

Это называется побитовым XOR. Позвольте мне объяснить это:

У вас есть:

Decimal Binary   
0         0
1         01
2         10
3         11

Теперь мы хотим 3^2=? тогда у нас есть 11^10=?

11
10
---
01
---

так 11^10=01 01 в десятичном формате 1.

Итак, мы можем сказать, что 3^2=1;

1 голос
/ 01 сентября 2010

Побитовый оператор XOR указывается с помощью каретки (^) и, конечно, работает непосредственно с двоичной формой чисел.Побитовое XOR отличается от побитового ИЛИ тем, что оно возвращает 1 только тогда, когда ровно один бит имеет значение 1.

Источник: http://www.java -samples.com / showtutorial.php? Tutorialid= 820

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...