티스토리 뷰

코드스테이츠(SEB_FE_42)

[JS] XOR 연산

codeyun2 2022. 12. 22. 20:44

XOR 연산(^)

두 피연산자를 32비트의 정수로 변환(2진법)하여

각 자리의 값(0 또는 1)이 같으면 그 자리를 0, 다르면 1로 바꿔

10진법의 정수로 리턴

const a = 5;        // 00000000000000000000000000000101
const b = 3;        // 00000000000000000000000000000011

console.log(a ^ b); // 00000000000000000000000000000110
// expected output: 6

 

두 피연산자와 결과값까지 세 값은 한 쌍임

const a = 5;
const b = 3;

const c = a ^ b
console.log(c);
// 6

console.log(c ^ a)
// 3

console.log(b ^ c)
// 5

 

이를 이용하여 정수 배열의 자리를 바꿀 수 있음(임시 변수, 구조분해할당, XOR연산)

let a = 10 // 1010
let b = 5  // 0101

a ^= b // a = a ^ b // 1111(15)
b ^= a // b = b ^ a // 1010(10)
a ^= b // a = a ^ b // 0101(5)

console.log(a, b)
// 5, 10

 

 

 

 

참고
mdn Bitwise XOR(^)

 

 

 

 

22.12.22

댓글
공지사항