누군가가이 동작을 설명 할 수 있습니까? a^b
이 변수에 저장 (또는 괄호에 싸여)되어 기본적으로하지 않는 JavaScript의 if 문에서 bitwise xor가 작동하지 않는 이유는 무엇입니까?
function checkSignsWeird(a,b){
var output = "";
if(a^b < 0){
output = "The "+a+" and "+b+" have DIFFERENT signs.";
}else{
output = "The "+a+" and "+b+" have the SAME sign.";
}
console.log(output);
}
https://jsfiddle.net/td1qtyxL/9/
, 그것은 작동하지 않습니다.checkSignsWeird(-50,40);
checkSignsWeird(60,70);
둘 모두 동일한 결과를 산출합니다.
에이미 내가 잘못했거나이 버그입니까? if 절 또는 다른 곳에있을 때 bitwise는 다르게 작동합니까? Check if two integers have the same sign은 "미만"
프로그래밍 언어를 지정하십시오. JS –
죄송합니다. 깜빡했습니다 :) – Firsh
아마도 [연산자 우선 순위 *] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Operator_Precedence)? – RobG