반응형
비트 연산자 // 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
반응형
'Javascript > 기본폴더' 카테고리의 다른 글
[Next.js] 컴포넌트 // Component (0) | 2023.08.07 |
---|---|
[GitHub] 자주 사용하는 Git 명령어, 상황에 따른 명령어 (0) | 2023.06.08 |
[CLI] 자주 사용하는 CLI 명령어 // Command Line Interface (0) | 2023.06.05 |