취미생활 열정적으로 즐기기

Javascript/기본폴더

[JS] 비트 연산자 정리 // Bitwise Operations

플로어캣 2023. 9. 4. 14:57
반응형

비트 연산자 // Bitwise Operations

 

연산자 이름 내용 사용 예 결괏값 사용 예  결괏값
& AND 두 비트가 모두 1이면 각 비트를 1로 설정 0101 & 0001 0001 5 & 1 1
| OR 두 비트 중 하나라도 1인 경우 각 비트를 1로 설정 0101  |  0001 0101 5 | 1 5
^ XOR 두 비트 중 하나만 1인 경우 각 비트를 1로 설정 0101 ^ 0001 0100 5 ^ 1 4
~ NOT 모든 비트를 반전 ~ 0101 1010 ~ 5 10
<< Zero fill left shift 지정 한 수 만큼
모든 비트를 왼쪽으로 이동,
제일 왼쪽의 비트는 사라지고
이동한 비트의 공백은 0으로 채움
0101 << 1 1010 5 << 1 10
>> Signed right shift 지정 한 수 만큼
모든 비트를 오른쪽으로 이동,
제일 오른쪽의 비트는 사라짐
0101 >> 1 0010 5 >> 1 2
101 >> 1 10
>>> Zero fill right shift 지정 한 수 만큼
모든 비트를 오른쪽으로 이동
제일 오른쪽의 비트는 사라짐
이동한 비트의 공백은 0으로 채움
0101 >>> 1 0010 5 >>> 1 2
101 >>> 1 010

 

프로그래머스 스쿨 코딩테스트 풀이를 살펴보다 소수점을 버리는 과정에서

 <<0  으로 처리하는걸 보게되어 비트연산자를 정리 해 보았다.

 

문) 정수 num1과 num2를 매개변수로 주어질 때 num1을 num2로 나눈 몫을 리턴하시오

let a = 5
let b = 2

const func1 = (num1, num2) => num1/num2;
const func2 = (num1, num2) => num1/num2<<0;

console.log(func1(a,b)); // 2.5
console.log(func2(a,b)); // 2

 

아직은 어떻게, 언제, 왜 쓰는지 모르겠지만 때가 되면 응용하는것도 정리 해 보고 싶다.

 

 

참조: https://www.w3schools.com/js/js_bitwise.asp

 

 

 

 

반응형